Ir para conteúdo

POWERED BY:

Arquivado

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

JonyW4

[Resolvido] Enviando campos em branco no BD

Recommended Posts

Bem galera estou tendo o seguinte problema no php de envio

 

O codigo tem a seguinte função:

  • Enviar e-mail com os dados do formualario (está certo)
  • Apos enviar o e-mail, enviar os mesmos dados do formulario para o Banco de dados
  • SE houver um e-mail igual no banco de dados, cancela a conexão, não envia mais
  • POREM der certo, vai adicionar nos campos la no Banco de Dados

Falando assim é fácil... natal_laugh.gif

Bem fiz o código e ocorreu quase certo a não ser do fato que mesmo tivesse algum e-mail igual ela ainda continuava enviando o formulario para o BD, porem sem conteúdo.

 

O codigo é esse:

<?php
$nome=$_POST["nome"];	
$email=$_POST["email"];	
$ddd=$_POST["ddd"];	
$tel=$_POST["tel"];	
$cidade=$_POST ["cidade"];
$cep=$_POST ["cep"];
$uf=$_POST ["uf"];
$assunto=$_POST["assunto"];
$menssagem=$_POST["menssagem"];
$exibir_apos_enviar = 'contato_resposta.html';
$exibir_apos_erro = 'contato_resposta_erro.html';

mail("carimflex@carimflex.com.br", $assunto,"
Nome: $nome
Email: $email
Telefone: ($uf)$tel $cidade/$uf $cep

Assunto: $assunto
----------------------
$menssagem","from: $nome<$email>", "Content-Type: text/html; charset=iso-8859-1") 
or die ('<script type="text/javascript"> alert("Erro ao enviar o e-mail, desculpe-nos o transtorno!"); </script>');

//Conectando esse arquivo com o BD da HS
$conexao = mysql_connect("mysql5.hospedagemdesite.com","login(substitui pelo meu, está tudo certo)", "Senha(fiz o mesmo)");
if (!$conexao)
die ("Erro de conexão com hostlocation, o seguinte erro ocorreu ->".mysql_error());

//Conectando com a tabela do banco de dados
$banco = mysql_select_db("Clientes",$conexao);
if (!$banco)
die ("Erro de conexão ao aceesar tabela com banco de dados, o seguinte erro ocorreu ->".mysql_error());

//Selecionando o campo EMAIL no BD
$ler = mysql_query("SELECT email FROM `clientes`" )or die("Erro de conexão ao selecionar o campo E-mail no BD, o seguinte erro ocorreu ->".mysql_error()); 
$verifica = mysql_fetch_array($ler);

//SE houver um e-naik equivalente a algum que tenha no banco de dados fecha a conexao...
if($email == "$verifica[email]"){
mysql_close($conexao);
   echo "<script>window.location='$exibir_apos_enviar_erro'</script>";
   }
//POREM se não houver continua o processo normalmente	e fecha a conexão.
else{
   $query = "INSERT INTO `clientes` (`id`, `nome` , `email` , `ddd` , `tel` , `cidade` , `uf`, `cep`) 
VALUES ('', '$nome', '$email', '$ddd', '$tel', '$cidade', '$uf', '$cep')";

mysql_query($query,$conexao);
mysql_close($conexao);

echo "<script>window.location='$exibir_apos_enviar'</script>";
}
?>

 

 

Então, alguem pode me ajudar ? natal_sad.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara vi seu código por cima, mas enfim veja se isso vai ser útil

 

faz uma seleção na tabela com os dados que irão para o banco

 

SELECT * FROM nome-da-tabela WHERE email='$email'

 

após isso utiliza a função mysql_num_rows se ela for 0 você utiliza a função INSERT normal senão você faz a outra verificação

 

abrass

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beem, e como fazeria isso ? Acho que voce está confundido os codigos ai, confere pra mim

 

Algueeem ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade você nao esta verificando se o formulario foi realmente enviado, dae qq acesso a pagina faz o script ser executado, enviando assim campos em branco, faça assim

 

if($_SERVER['REQUEST_METHOD'] == 'POST'){

$nome=$_POST["nome"];   
$email=$_POST["email"]; 
$ddd=$_POST["ddd"];     
$tel=$_POST["tel"];     
$cidade=$_POST ["cidade"];
$cep=$_POST ["cep"];
$uf=$_POST ["uf"];
$assunto=$_POST["assunto"];
$menssagem=$_POST["menssagem"];
$exibir_apos_enviar = 'contato_resposta.html';
$exibir_apos_erro = 'contato_resposta_erro.html';

mail("carimflex@carimflex.com.br", $assunto,"
Nome: $nome
Email: $email
Telefone: ($uf)$tel $cidade/$uf $cep

Assunto: $assunto
----------------------
$menssagem","from: $nome<$email>", "Content-Type: text/html; charset=iso-8859-1") 
or die ('<script type="text/javascript"> alert("Erro ao enviar o e-mail, desculpe-nos o transtorno!"); </script>');

//Conectando esse arquivo com o BD da HS
$conexao = mysql_connect("mysql5.hospedagemdesite.com","login(substitui pelo meu, está tudo certo)", "Senha(fiz o mesmo)");
if (!$conexao)
       die ("Erro de conexão com hostlocation, o seguinte erro ocorreu ->".mysql_error());

//Conectando com a tabela do banco de dados
$banco = mysql_select_db("Clientes",$conexao);
if (!$banco)
       die ("Erro de conexão ao aceesar tabela com banco de dados, o seguinte erro ocorreu ->".mysql_error());

//Selecionando o campo EMAIL no BD
$ler = mysql_query("SELECT email FROM `clientes`" )or die("Erro de conexão ao selecionar o campo E-mail no BD, o seguinte erro ocorreu ->".mysql_error()); 
$verifica = mysql_fetch_array($ler);

//SE houver um e-naik equivalente a algum que tenha no banco de dados fecha a conexao...
if($email == "$verifica[email]"){
       mysql_close($conexao);
   echo "<script>window.location='$exibir_apos_enviar_erro'</script>";
   }
//POREM se não houver continua o processo normalmente   e fecha a conexão.
else{
   $query = "INSERT INTO `clientes` (`id`, `nome` , `email` , `ddd` , `tel` , `cidade` , `uf`, `cep`) 
VALUES ('', '$nome', '$email', '$ddd', '$tel', '$cidade', '$uf', '$cep')";

mysql_query($query,$conexao);
mysql_close($conexao);

echo "<script>window.location='$exibir_apos_enviar'</script>";
}
}

 

faca uma validacao tb na funcao mail..alias faça uma validacao geral, tem muita coisa a validar ae, mas fugiria do escopo do topico...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O seguinte.

Sobre o mail, ele está correto, o problema que está ocorrendo é no servidor e ja informei com o site de hospedagem e eles estão corrigindo.

 

Agora, você só me informou que ta errado. Errado eu sei que está, eu queria ajuda pra saber AONDE eu errei, SE puderem, ne

Obrigado desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beeeem galera. Desculpe o transtormo mas eu mesmo indentifiquei o erro e corrigi

Aqui está o codigo correto do trexo errado


//Selecionando o campo EMAIL no BD
$selecionar="SELECT *
FROM `clientes`
WHERE email = '$email'
";

$verificar = mysql_query($selecionar,$conexao)or die("Erro de conexão ao selecionar o campo E-mail no BD, o seguinte erro ocorreu ->".mysql_error());

$i = mysql_num_rows($verificar);

//SE houver um e-mail equivalente linha 0 continua a conexao...
if($i == 0){

 

Obrigado mesmo assim daqueles que vieram até o tópico para tentar esclarecer minha duvida.

Os fóruns de hoje em dia precisam de mais usuários assim

Valeu Galera !!! natal_laugh.gif

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.