Ir para conteúdo

Arquivado

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

O_InIcIaNt3

colei o código...

Recommended Posts

bom o que eu quero fazer você´s vao achar barbada... mas pra mim ta sendo uma dor de cabeça...é o seguinte, eu quero fazer a validação para que a pessoa não possa inserir no formulário os mesmos dados que já existem no banco entendem... estou colando o código abaixo para você´s me dizerem oq está errado...<?php if ($envia) { if ($empresa == "") { echo "voce precisa digitar o nome da empresa"; } elseif ($contato == "") { echo "voce precisa digitar o nome do seu contato"; } elseif ($telefone == ""){ echo "voce precisa digitar o telefone"; } elseif ($email == "") { echo "voce precisa digitar o endereco de email"; } else { $registro = "SELECT * FROM cliente"; $reg = mysql_query($registro); if ($empresa & $contato & $telefone & $email == $registro) { echo "dados ja existentes, tente com outros dados..."; } else { $sql= "INSERT INTO cliente (empresa, contato, telefone, email) values ('$empresa', '$contato', '$telefone', '$email' )"; $sql2= "INSERT INTO cidade (cidade, uf) VALUES ('$cidade', '$uf')"; $insere= mysql_query($sql); $insere2= mysql_query($sql2); echo "dados adicionados com sucesso!!"; } } } ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acredito que você deveria fazer assim:

 

$sql = "select * from cliente where empresa='$empresa' and contato='$contato' and $telefone= '$telefone' and email = '$email'";$re = mysql_query($sql);$num = mysql_num_rows($re);if ($num > 0) {   echo "dados ja existentes, tente com outros dados...";}else {   ...}

Testa aí, qualquer coisa, posta! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é bem assim que você pega os dados do banco.

 

Quando você faz assim:

 

$registro = "SELECT * FROM cliente";$reg = mysql_query($registro);if ($empresa & $contato & $telefone & $email == $registro)
... na verdade, o resultado da sua consulta está na variável $reg e não na $registro.

A variável $reg é um array com todos os valores que ele encontra na consulta SQL que você faz.

 

Tente alguma coisa parecida com o código abaixo:

 

if($reg == true){   while($line = mysql_fetch_array($reg)){	  $banco_empresa = $line['nome_do_campo_empresa_no_banco'];	  ...   }}if(($empresa == $banco_empresa) && ($contato == $banco_contato) ...){   echo "dados ja existentes, tente com outros dados...";}

 

Enquanto eu estava escrevendo uma resposta, o Baldão colocou outra solção que também dá certo. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Você colocaria como critério da consulta, os dados que quer achar no banco. Se ele retornar valor, quer dizer que já está cadastrado.

 

Acho que esta solução é melhor que a minha pro seu caso.

 

Somente se você quiser saber o valor específico de um determinado campo da tabela eu recomendaria usar a solução que eu coloquei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, o Baldão arrepiô ai na ajuda, agora uma dica é você tratar os dados do formulário na própria página do formulário, uma boa opção de tratamento de formulário é o "Tigra Form Validator" que é um script em javascript que faz validação dos campos de um formulário e é bem fácil de usar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahhfui tentar com a dica do baldão.. e deu esse erro pra mim...Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\go fone\cadastra_cliente.php on line 55dados adicionados com sucesso!!oq pode ter acontecido??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!

 

Me desculpa, cara foi falta de atenção minha.

 

Troca essa linha:

$num = mysql_num_rows($sql);

Por essa:

$num = mysql_num_rows($re);

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.