Sou meio novato nessa área de PHP ainda, já andei buscando varias formas para construir um formulario de contato em php e hospeda-lo, porem sem sucesso em seu funcionamento !
O que acontece é o seguinte eu tenho o formualrio em html belezinha, mas o script em php tambem normal tudo funcionando aparentemente normal, hospedo os 2 arquivos no servidor eles funcionam perfeitamente, porem quando submetido não chega ao destino. (link do formulario no ar caso queiram dar uma olhada - www.zerone.com.br/formulario.html).
Pergunta
angelorubin
Boa tarde pessoal,
Sou meio novato nessa área de PHP ainda, já andei buscando varias formas para construir um formulario de contato em php e hospeda-lo, porem sem sucesso em seu funcionamento !
O que acontece é o seguinte eu tenho o formualrio em html belezinha, mas o script em php tambem normal tudo funcionando aparentemente normal, hospedo os 2 arquivos no servidor eles funcionam perfeitamente, porem quando submetido não chega ao destino. (link do formulario no ar caso queiram dar uma olhada - www.zerone.com.br/formulario.html).
O codigo é esse a seguir:
formulario.html
<body class='corpo'>
<p align="center">
Formulário de Contato - www.zerone.com.br
</p>
<table width="528" border="0" align="center" class="corpo">
<form name="form_de_contato" method="post" action="formmail.php">
<tr>
<td width="93">Nome:</td>
<td width="425">
<input name="nome" type="text" id="nome" size="50"
class="form">
</td>
</tr>
<tr>
<td>Seu email:</td>
<td><input name="email" type="text" id="email" size="50"
class="form"></td>
</tr>
<tr>
<td>Assunto:</td>
<td><input name="assunto" type="text" id="assunto" size="50"
class="form"></td>
</tr>
<tr>
<td>Mensagem:</td>
<td><textarea name="mensagem" cols="44" rows="5" class="corpo"
id="mensagem"></textarea></td>
</tr>
<tr>
<td> </td>
<td><input name="ok" type="submit" id="ok" value="Enviar mensagem!"
class="form">
<input name="limpa" type="reset" id="limpa" value="Limpar dados!" class="form"></td>
</tr>
</form>
</table>
</body>
formmail.php
<?
// Coloque o email que irá receber os valores
$to = "zerone@zerone.com.br";
//Recebe os valores dos campos...
/* Perceba que os valores são resgatados com $_POST[], pois no
formulário o metodo de envio foi o post e não get!*/
$nome = $_POST['nome'];
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$msg = $_POST['mensagem'];
$msg = nl2br($msg); // Todos os Enter's dados pelo usuário serão transformados em <br />
// Caso algum campo se encontre vazio ele retorna a página de envio!
if($nome == NULL || $email == NULL || $assunto == NULL || $msg == NULL):
?>
<script language="JavaScript">alert('Há campos requeridos em branco!');
location.href='formulario.html';
</script>
<?
// ainda dentro do if, ele pára a execução e fecha o if após isso
exit;
endif;
// Aqui ele verifica se o email contém caracteres válidos!
// Esse sistema é conhecido como Expressões Regulares...
$pattern = "^([A-Z_a-z])+@([a-zA-Z])+";
// Caso a verificação retorne falso, ou seja, o email digitado é inválido, ele volta para o formulário
if(ereg($pattern,$email) == false):
?>
<script language="JavaScript">alert('O email não é válido');
location.href='formulario.html';
</script>
<?
// Pára a execução do sistema e termina o if
exit;
endif;
// Agora ele está montando o corpo da mensagem para enviar ao email...
$mensagem = "Mensagem enviada por: ".$nome." em: ".date("d/m/Y - H:i")."\n <br />
Abaixo seguem os dados do usuário:\n <br />
E-mail: ".$email."\n <br />
Assunto: ".$assunto."\n <br />
A mensagem enviada a você foi a seguinte: \n <br />
".$msg ;
// Define os cabeçalhos do email...
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
// headers adicionais
$headers .= "From: $email <$email>\r\n";
// finalmente ele envia o Email para o local escolhido lá em cima....
mail($to,$assunto,$mensagem,$headers);
?>
<script language="JavaScript">alert('Sua mensagem foi enviada com êxito!');
location.href='formulario.html';
</script>
alguém poderia me dar uma ajuda. Obrigado.
Editado por angelorubinLink para o comentário
Compartilhar em outros sites
2 respostass 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.