Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bem galera estou tendo o seguinte problema no php de envio
O codigo tem a seguinte função:
Falando assim é fácil... /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/natal_laugh.gif&key=9d77b4a914ce9084db7038bd79fcfd148ccb60b83e7b5914e51c94d9f2bacbf7" alt="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>";
} $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 ? /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/natal_sad.gif&key=c58a66fde65a475ad30715a3e4376e4905f593cf8dffad2cd15366534f178e86" alt="natal_sad.gif" />
Beem, e como fazeria isso ? Acho que voce está confundido os codigos ai, confere pra mim
Algueeem ?
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>";
} $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...
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á
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 !!! /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/natal_laugh.gif&key=9d77b4a914ce9084db7038bd79fcfd148ccb60b83e7b5914e51c94d9f2bacbf7" alt="natal_laugh.gif" />
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