vanstival Postado Fevereiro 6, 2018 Denunciar Share Postado Fevereiro 6, 2018 Boa noite pessoal, estou programando um site em HTML e fazer o formulário de contato em PHP, porém tenho 0 de conhecimento sobre PHP Poderiam ver o que está dando errado em meus códigos? Este é o html <form class="style2 center-btn" name="contactform" method="post" action="sendmail.php"> <div class="row"> <div class="col-md-6"> <div class="field"><i class="pe-7s-user"></i><input type="text" placeholder="Nome" name="nome"></div> </div> <div class="col-md-6"> <div class="field"><i class="pe-7s-mail"></i><input type="email" placeholder="Email" name="email"></div> </div> <div class="col-md-12"> <div class="field"><i class="pe-7s-key"></i><input type="text" placeholder="Assunto" name="assunto"></div> </div> <div class="col-md-12"> <div class="field"><i class="pe-7s-pen"></i><textarea placeholder="Mensagem" name="mensagem"></textarea></div> </div> <div class="col-md-12"> <button type="submit" class="coloured-btn" value="ENVIAR">ENVIAR</button> </div> </div> </form> e este é o PHP <html> <head> <title>Obrigado!</title> </head> <body> <?php $vnome=$_POST['nome']; $vemail=$_POST['email']; $vassunto=$_POST['assunto']; $vmensagem=$_POST['mensagem']; if(mail($vnome,$vemail,$vassunto,$mensagem, "to:vanessastival@outlook.com")) { echo "nome: ".$vnome."<br/>email: ".$vemail."<br/> assunto: ".$vassunto."<br/> mensagem: ".$vmensagem."<br/>"; } else{ echo "Erro"; } ?> </body> </html> Obrigada!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RpgBoss Postado Fevereiro 7, 2018 Denunciar Share Postado Fevereiro 7, 2018 (editado) O erro está na sua linha da IF e da função mail(). Olha, vale lembrar que eu não concordo com uso de PHP para enviar EMAIL sem ter uma va.lidação perfeita que checa até o formato do email, sendo isso feito inicialmente em javascript e depois pelo próprio PHP. Mas como aparentemente você está fazendo testes existem essas duas maneiras. if(isset($vnome) && isset($vemail) && isset($vassunto) && isset($vmensagem)){ mail("emaildosite@provedor.com",$vassunto,"De ".$vnome."\n\n".$vmensagem); }else{ echo "Houve algum erro no preenchimento do formulário"; } Ou pra retornar o erro correto: if ($_SERVER['REQUEST_METHOD'] === 'POST') { $vnome=$_POST['nome']; $vemail=$_POST['email']; $vassunto=$_POST['assunto']; $vmensagem=$_POST['mensagem']; /* Declarar variavel para contar quantos campos foram preenchidos */ $validador = 0; if(!empty($vnome)){ $validador = $validador + 1; }else{ echo "ERRO: Preencha o seu nome<br>\n"; } if (!empty($vassunto)){ $validador = $validador + 1; }else{ echo "ERRO: Preencha o assunto<br>\n"; } if (!empty($vemail)){ $validador = $validador + 1; }else{ echo "ERRO: Preencha seu email<br>\n"; } if (!empty($vmensagem)){ $validador = $validador + 1; }else{ echo "ERRO: Preencha o corpo do email<br>\n<br>\n"; } /* Condição para enviar o email */ if ($validador == 4){ /** TUDO CERTO ENVIAR EMAIL **/ //coloque aqui o e-mail que deve receber a mensagem do formulário mail("email@provedordaempresa.com",$vassunto,"Email enviado por ".$vnome.".\n\n".$vmensagem."\n\n\nResponda para ".$vemail); echo "E-MAIL enviado com sucesso! Agora aguarde chegar na nossa caixa de entrada.<br>\n<br>\nMuito obrigado."; }else{ /** SE ALGUM DOS ITEMS ESTIVER VAZIO **/ echo "O seu email não foi enviado, veja acima os campos que faltaram preencher "; } }else{ echo "Você não pode acessar essa página diretamente, volte para o formulário, preencha o email e aperte ENVIAR"; } Eu ia colocar um método para enviar uma cópia para o cliente por garantia, mas o servidor limita a um chamado da função mail() por requisição. mail("email@provedordaempresa.com;".$vemail,... Então se quiser mandar uma cópia altere Editado Fevereiro 7, 2018 por RpgBoss Operadores, Metodo POST incluido Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
vanstival
Boa noite pessoal, estou programando um site em HTML e fazer o formulário de contato em PHP, porém tenho 0 de conhecimento sobre PHP
Poderiam ver o que está dando errado em meus códigos?
Este é o html
<form class="style2 center-btn" name="contactform" method="post" action="sendmail.php">
<div class="row">
<div class="col-md-6">
<div class="field"><i class="pe-7s-user"></i><input type="text" placeholder="Nome" name="nome"></div>
</div>
<div class="col-md-6">
<div class="field"><i class="pe-7s-mail"></i><input type="email" placeholder="Email" name="email"></div>
</div>
<div class="col-md-12">
<div class="field"><i class="pe-7s-key"></i><input type="text" placeholder="Assunto" name="assunto"></div>
</div>
<div class="col-md-12">
<div class="field"><i class="pe-7s-pen"></i><textarea placeholder="Mensagem" name="mensagem"></textarea></div>
</div>
<div class="col-md-12">
<button type="submit" class="coloured-btn" value="ENVIAR">ENVIAR</button>
</div>
</div>
</form>
e este é o PHP
<html>
<head>
<title>Obrigado!</title>
</head>
<body>
<?php
$vnome=$_POST['nome'];
$vemail=$_POST['email'];
$vassunto=$_POST['assunto'];
$vmensagem=$_POST['mensagem'];
if(mail($vnome,$vemail,$vassunto,$mensagem, "to:vanessastival@outlook.com")) {
echo "nome: ".$vnome."<br/>email: ".$vemail."<br/> assunto: ".$vassunto."<br/> mensagem: ".$vmensagem."<br/>";
} else{
echo "Erro";
}
?>
</body>
</html>
Obrigada!!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.