Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

João Marcos Ferlini

[Resolvido] Sistema de Rastreamento

Recommended Posts

Bom, eu desenvolvi uma ferramente para rastrear encomendas que eu posto para meus clientes. Só que não quero que todos que acessam o site para verificar as correspondências possam ver todos os códigos. Então criei um requisito, o CPF do cliente para localizar o código de rastreamento. Um exemplo prático: O cliente digitará o CPF e o código do rastreamento aparecerá abaixo do formulário.

Até agora o formulário tá pronto, agora o que eu não sei fazer e quando o usuário "clicar" no botão verificar ele execute a consulta e retorne com código do rastreamento. Caso não tenha nada, ele retorna mensagem que fala que não existem códigos cadastrados para este CPF. Agradeço quem me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como os dados estão sendo guardados no seu banco de dados?

Qual o seu real conhecimento de PHP/MySQL?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os dados estão sendo gravados desta forma:

 

datacadastro

datapostagem

codigo

nomecliente

endereco

modalidade

usuario

id

cpf

 

Meu real conhecimento é Básico.

 

Eu crei este código:

 

<?php
session_start();

include("conexao.php");

$consulta = mysql_query("select * from cad_rastreamento ORDER BY codigo, '$cpf'") or print (mysql_error());
$verifica = mysql_num_rows($consulta);


if($verifica==1){
$_SESSION['cpf'] = $cpf;

include ("conexao.php");
$sql = "select * from cad_rastreamento ORDER BY cpf, codigo";
$query = mysql_query($sql);
While($linha = mysql_fetch_array($query)){
print
   	"<tr>
     		<td align=\"center\" width=\"100\">$linha[1]</td>
		<td align=\"center\" width=\"100\">$linha[2]</td>
	</tr>";

}

echo "</table></div></p><br>";
echo "<p align=\"center\"><a href=\"index.php\">Sair</a></p>";	

header("Location: rastreamento.php");
}
else {
echo "Não há Códigos Cadastrados para Este CPF - Verifique se o CPF está correto ou Entrem em contato com o Suporte!!";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não sei postar o formulário por aqui!

 

O código acima que eu postei está dando certo, mas toda hora aparece a mensagem que não existe o CPF, mas já verifiquei todos os dados e estão corretos! Alguem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A lógica é a seguinte:

<?php
if(isset($_POST['NOME-DO-CAMPO-COM-O-CPF'])){
   $cpf = $_POST['NOME-DO-CAMPO-COM-O-CPF'];


include ("conexao.php");
       $sql = "select * from cad_rastreamento WHERE cpf = '$cpf' ORDER BY cpf, codigo";
       $query = mysql_query($sql);
       While($linha = mysql_fetch_array($query)){
       print
       "<tr>
               <td align=\"center\" width=\"100\">$linha[1]</td>
                       <td align=\"center\" width=\"100\">$linha[2]</td>
               </tr>";

       }

       echo "</table></div></p><br>";
       echo "<p align=\"center\"><a href=\"index.php\">Sair</a></p>";  


}else{
   //Exibe formulario
}


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, eu tenho formulário, e agora quero que quando cliem em "Enviar" apareça o resultado baixo do formulário na mesma página, como eu faço isso?

 

Se qusier isso sem um refresh, use AJAX!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já consegui fazer o que eu queria! Muito obrigado por vocês me ajudaram!

Agora estou com outro problema!

 

Em relação a Editar e Excluir registros! Tenho 3 páginas:

rastreamento.php (onde tem o formulário de inserção dos dados)

editar_rastreamento.php (onde o formulário recebe os dados para que edite e salve os registros)

edit_rastrear.php (são os códigos faz a conexão com o banco de dados e guarda os registros)

 

Até tudo bem.

 

No meu formulário rastreamento.php tem os registros em uma tabela: com o link de "Editar -- Alterar" (a href=\"edit_rastreamento.php?id=$id&datacadastro=$datacadastro&datapostagem=$datapostagem&codigo=$codigo&nomecliente=$nomecliente&endereco=$endereco&modalidade=$modalidade&usuario\">Editar</a> -- <a href=\"deletar.php?id=$id&nomeusuario=$nomeusuario\">Deletar</a>)

 

Quando clico no botão "Editar" ele abre o formulário editar_rastreamento.php mais os dados não aparecem no formulário!

 

nos campos utilizo: <? echo "$id"; ?> (Para receber os dados)

 

no mesmo formulário utilizo:

<?
include("conexao.php");
$id = $_GET["id"];
$datacadastro = $_GET["datacadastro"];
$datapostagem = $_GET["datapostagem"];
$codigo = $_GET["codigo"];
$nomecliente = $_GET["endereco"];
$modalidade = $_GET["modalidade"];
$usuario = $_GET["usuario"];
?>

(pra chamar os dados)

 

Só que não está aparecendo os dados no formulário!

 

Por favor me ajudem!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sintaxe "mais correta" seria assim:

<input type="text" name="data" value="<?php echo $datacadastro; ?>" />

 

 

porém não envie tudo por GET. GET tem um limite. 255 caracteres.

 

Envie só o ID, então busque com um SELECT no banco, e preencha os inputs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok. Resolvido. Obrigado. Como eu estou aprendendo a programar em PHP, mas tendo um bom conhecimento, ainda tenho alguns erros que acontecem que não consigo sozinho verificar como este:

 

$datacadastro = $_POST['datacadastro'];
$situacao = $_POST['situacao'];
$ncontrato = $_POST['ncontrato'];
$sequencia = $_POST['sequencia'];
$curso = $_POST['curso'];
$anoconclusao = $_POST['anoconclusao'];
$instituicao = $_POST['instituicao'];
$cidade = $_POST['cidade'];
$dataprevista = $_POST['dataprevista'];
$nomecomissao = $_POST['nomecomissao'];
$cpf = $_POST['cpf'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$qtdformandos = $_POST['qtdformandos'];
$tamanhofoto = $_POST['tamanhofoto'];
$valorcustopfor = $_POST['valorcustopfor'];
$empresa = $_POST['empresa'];
$empresaparceira = $_POST['empresaparceira'];
$valortotal = $_POST['valortotal'];


$existe = mysql_query("SELECT * FROM cad_contrato WHERE ncontrato = '$ncontrato'");
$contar = mysql_num_rows($existe);


$sql = "INSERT INTO cad_contrato (datacadastro, ncontrato, situacao, sequencia, curso, anoconclusao, instituicao, cidade, dataprevista, nomecomissao, cpf, email, telefone, qtdformandos, tamanhofoto, valorcustopfor, empresa, empresaparceira, valortotal) VALUES ('$datacadastro', '$ncontrato', '$situacao', '$sequencia', '$curso', '$anoconclusao', '$instituicao', '$cidade', '$dataprevista', '$nomecomissao', '$cpf', '$email','$telefone', '$qtdformandos', '$tamanhofoto', '$valorcustopfor', '$empresa', '$empresaparceira', '$valortotal')";

 

O que tem de errado neste código?

 

- Precisa estar em ordem os nomes dos campos?

- Posso usar "underline" "_" para nomenclatura de campos?

- Qual formato de Data que tenho que colocar no PhpMyAdmin para ele receber o valor automático de data?

- O tamanho limite é do _POST é de 255 bytes. É em cada campo ou num todo geral?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok. Resolvido. Obrigado. Como eu estou aprendendo a programar em PHP, mas tendo um bom conhecimento, ainda tenho alguns erros que acontecem que não consigo sozinho verificar como este:

 

$datacadastro = $_POST['datacadastro'];
$situacao = $_POST['situacao'];
$ncontrato = $_POST['ncontrato'];
$sequencia = $_POST['sequencia'];
$curso = $_POST['curso'];
$anoconclusao = $_POST['anoconclusao'];
$instituicao = $_POST['instituicao'];
$cidade = $_POST['cidade'];
$dataprevista = $_POST['dataprevista'];
$nomecomissao = $_POST['nomecomissao'];
$cpf = $_POST['cpf'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$qtdformandos = $_POST['qtdformandos'];
$tamanhofoto = $_POST['tamanhofoto'];
$valorcustopfor = $_POST['valorcustopfor'];
$empresa = $_POST['empresa'];
$empresaparceira = $_POST['empresaparceira'];
$valortotal = $_POST['valortotal'];


$existe = mysql_query("SELECT * FROM cad_contrato WHERE ncontrato = '$ncontrato'");
$contar = mysql_num_rows($existe);


$sql = "INSERT INTO cad_contrato (datacadastro, ncontrato, situacao, sequencia, curso, anoconclusao, instituicao, cidade, dataprevista, nomecomissao, cpf, email, telefone, qtdformandos, tamanhofoto, valorcustopfor, empresa, empresaparceira, valortotal) VALUES ('$datacadastro', '$ncontrato', '$situacao', '$sequencia', '$curso', '$anoconclusao', '$instituicao', '$cidade', '$dataprevista', '$nomecomissao', '$cpf', '$email','$telefone', '$qtdformandos', '$tamanhofoto', '$valorcustopfor', '$empresa', '$empresaparceira', '$valortotal')";

 

O que tem de errado neste código?

 

- Precisa estar em ordem os nomes dos campos?

- Posso usar "underline" "_" para nomenclatura de campos?

- Qual formato de Data que tenho que colocar no PhpMyAdmin para ele receber o valor automático de data?

- O tamanho limite é do _POST é de 255 bytes. É em cada campo ou num todo geral?

- Precisa estar em ordem os nomes dos campos?

sim, campo com mesma ordem de valor

- Posso usar "underline" "_" para nomenclatura de campos?

sim, pode

- Qual formato de Data que tenho que colocar no PhpMyAdmin para ele receber o valor automático de data?

formato date, so tera q fazer uma conversao depois, mas data sempre armazene como data, pq você pode instruir o banco a fazer operacoes com data nele mesmo, fica mais facil pra ele, e sua aplicacao

- O tamanho limite é do _POST é de 255 bytes. É em cada campo ou num todo geral?

varchar ou char eh 255, nao o post

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já programo em Acess e também tenho conhecimento em VBA. Algumas coisas extraordinárias não tenho conhecimento, mas o básico eu tenho conhecimento. Um dúvida que eu tenho é por exemplo:

 

Em Access:

- Tenho um formulário de Cadastro de Despesas *No Formulário mestre tem o campo: DataCadastro - Contrato - Usuário

- Tenho um Subformulário *No Formulário Filho tem o campo: Controle - Descricao - Valor

 

Minha dúvida:

 

Em PHP:

 

- Como eu faço para colocar campo mestres e filhos em PHP? Ou melhor dizer há possibilidade?

- Se tem como fazer? Há algum exemplo que eu posso retirar para ser de base do meu estudo?

 

- Precisa estar em ordem os nomes dos campos?

sim, campo com mesma ordem de valor

- Posso usar "underline" "_" para nomenclatura de campos?

sim, pode

- Qual formato de Data que tenho que colocar no PhpMyAdmin para ele receber o valor automático de data?

formato date, so tera q fazer uma conversao depois, mas data sempre armazene como data, pq você pode instruir o banco a fazer operacoes com data nele mesmo, fica mais facil pra ele, e sua aplicacao

- O tamanho limite é do _POST é de 255 bytes. É em cada campo ou num todo geral?

varchar ou char eh 255, nao o post

 

Eu Coloquei este código para inserção dos referidos dados. Só que não está sendo cadastrado, eu ainda não consigo encontrar o erro!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já programo em Acess e também tenho conhecimento em VBA. Algumas coisas extraordinárias não tenho conhecimento, mas o básico eu tenho conhecimento. Um dúvida que eu tenho é por exemplo:

 

Em Access:

- Tenho um formulário de Cadastro de Despesas *No Formulário mestre tem o campo: DataCadastro - Contrato - Usuário

- Tenho um Subformulário *No Formulário Filho tem o campo: Controle - Descricao - Valor

 

Minha dúvida:

 

Em PHP:

 

- Como eu faço para colocar campo mestres e filhos em PHP? Ou melhor dizer há possibilidade?

- Se tem como fazer? Há algum exemplo que eu posso retirar para ser de base do meu estudo?

 

 

 

Eu Coloquei este código para inserção dos referidos dados. Só que não está sendo cadastrado, eu ainda não consigo encontrar o erro!

1- access nao eh linguagem de programacao, eh banco de dados, logo você nao programa em access

sim, pode colcoar campos mestre e filhos em php, sim ha possibilidade

 

no access basicamente você usa somente a parte visual, você ja usou a parte de sql dele? eh identico ao php

 

 

 

sobre a insercao, eh costume usarmos funcoes de erros, pq se der erro ele nos diz qual

 

$sql = "INSERT INTO cad_contrato (datacadastro, ncontrato, situacao, sequencia, curso, anoconclusao, instituicao, cidade, dataprevista, nomecomissao, cpf, email, telefone, qtdformandos, tamanhofoto, valorcustopfor, empresa, empresaparceira, valortotal) VALUES ('$datacadastro', '$ncontrato', '$situacao', '$sequencia', '$curso', '$anoconclusao', '$instituicao', '$cidade', '$dataprevista', '$nomecomissao', '$cpf', '$email','$telefone', '$qtdformandos', '$tamanhofoto', '$valorcustopfor', '$empresa', '$empresaparceira', '$valortotal')";

 

troque por

 

$sql = "INSERT INTO cad_contrato (datacadastro, ncontrato, situacao, sequencia, curso, anoconclusao, instituicao, cidade, dataprevista, nomecomissao, cpf, email, telefone, qtdformandos, tamanhofoto, valorcustopfor, empresa, empresaparceira, valortotal) VALUES ('$datacadastro', '$ncontrato', '$situacao', '$sequencia', '$curso', '$anoconclusao', '$instituicao', '$cidade', '$dataprevista', '$nomecomissao', '$cpf', '$email','$telefone', '$qtdformandos', '$tamanhofoto', '$valorcustopfor', '$empresa', '$empresaparceira', '$valortotal')" or die(mysql_error());

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me desculpa, eu me expressei mal em falar no Access.

Em relação a erro eu estou usando assim:

 

<?
include("conexao.php");

$datacadastro = $_POST['datacadastro'];
$situacao = $_POST['situacao'];
$ncontrato = $_POST['ncontrato'];
$sequencia = $_POST['sequencia'];
$curso = $_POST['curso'];
$anoconclusao = $_POST['anoconclusao'];
$instituicao = $_POST['instituicao'];
$cidade = $_POST['cidade'];
$dataprevista = $_POST['dataprevista'];
$nomecomissao = $_POST['nomecomissao'];
$cpf = $_POST['cpf'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$qtdformandos = $_POST['qtdformandos'];
$tamanhofoto = $_POST['tamanhofoto'];
$valorcustopfor = $_POST['valorcustopfor'];
$empresa = $_POST['empresa'];
$empresaparceira = $_POST['empresaparceira'];
$valortotal = $_POST['valortotal'];


$existe = mysql_query("SELECT * FROM cad_contrato WHERE ncontrato = '$ncontrato'");
$contar = mysql_num_rows($existe);



//VÊ SE JÁ EXISTE ALGUM ARQUIVO COM O MESMO NOME:
$sql = "INSERT INTO cad_contrato (datacadastro, ncontrato, situacao, sequencia, curso, anoconclusao, instituicao, cidade, dataprevista, nomecomissao, cpf, email, telefone, qtdformandos, tamanhofoto, valorcustopfor, empresa, empresaparceira, valortotal) VALUES ('$datacadastro', '$ncontrato', '$situacao', '$sequencia', '$curso', '$anoconclusao', '$instituicao', '$cidade', '$dataprevista', '$nomecomissao', '$cpf', '$email','$telefone', '$qtdformandos', '$tamanhofoto', '$valorcustopfor', '$empresa', '$empresaparceira', '$valortotal')" or die(mysql_error());

if(mysql_query($sql)) {
echo "<script>alert('Você cadastrou com sucesso este Contrato!');top.location.href='nfe.php';</script>";
}else{
echo "<script>alert('Não foi possível cadastrar pois há erros na Inserção dos Dados!! ');top.location.href='nfe.php';</script>";
}


?>

 

E sempre aparece a a Mensagem: 'Não foi possivel.......'

 

Estou quebrando a cabeça aqui pra resolver e não consigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, reveja, e releia meu ultimo post...você nao viu os detalhes sobre funcoes de erro...

 

eu fiz confusao, perdao, o "or die(mysql_error())" vem depois de mysql_query()....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem problema não, você me ajudou muito mesmo. Vou rever e logo darei o retorno.

 

Problema Resolvido. O caso não era os campos, e sim troquei o 's' da instituição, ou melhor dizendo o erro estava na falta do 's'. Obrigado pelo retorno.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.