JonyW4 0 Denunciar post Postado Dezembro 13, 2011 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... 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 ? Compartilhar este post Link para o post Compartilhar em outros sites
Alisson_Schneider 0 Denunciar post Postado Dezembro 13, 2011 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
JonyW4 0 Denunciar post Postado Dezembro 13, 2011 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
visitante_php 0 Denunciar post Postado Dezembro 13, 2011 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
JonyW4 0 Denunciar post Postado Dezembro 13, 2011 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
JonyW4 0 Denunciar post Postado Dezembro 14, 2011 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 !!! Compartilhar este post Link para o post Compartilhar em outros sites