Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
eu criei um formulário básico para envio de e-mail via código php, onde prefiro no momento que a verificação dos dados seja pelo código php. Existem dois arquivos, um INDEX.PHP - que envia o formulário - e outro ENVIA.PHP - que faz a verificação do formulário e envia o e-mail.
partes dos códigos
INDEX.PHP
<?
$erro = $_GET["erro"];
if($erro == 1)
{
?>
<tr>
<td style="height: 20px; color: red; font-weight: 300;" align="center" valign="center">Por favor, preencha todos os campos obrigatórios!</td>
</tr>
<tr>
<td style="height: 15px;"></td>
</tr>
<?
}
elseif($erro == 2)
{
?>
<tr>
<td style="height: 20px; color: red; font-weight: 300;" align="center" valign="center">O e-mail digitado está incorreto!</td>
</tr>
<tr>
<td style="height: 15px;"></td>
</tr>
<?
}
elseif($erro == 3)
{
?>
<tr>
<td style="height: 20px; color: green; font-weight: 300;" align="center" valign="center">E-mail enviado com sucesso!</td>
</tr>
<tr>
<td style="height: 15px;"></td>
</tr>
<?
}
?>
<tr>
<td>
<table width="603" border="1">
<tr>
<td width="307" align="left">Entre com seu nome (obrigatório)<br /><br /><input class="c_email" type="text" name="c_nome" value="" maxlength="20"></td>
<td width="280" align="left">Seu endereço de e-mail (obrigatório)<br /><br /><input class="c_email" type="text" name="c_email" value="" maxlength="30"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="height: 15px;"></td>
</tr>
<tr>
<td>
<table width="602" border="1">
<tr>
<td width="306" align="left">Entre com o assunto (obrigatório)<br /><br /><input class="c_email" type="text" name="c_assunto" value="" maxlength="30"></td>
<td width="280" align="left">Como você me encontrou<br /><br /><input class="c_email" type="text" name="c_encontrou" value="" maxlength="30"></td>
</tr>
</table>
</td>
</tr>
</form>
<tr>
<td> </td>
</tr>
<tr>
<td align="center"><div style="position: relative; left: -5px;"><textarea name="c_mensagem" cols="" rows="" class="c_email2"></textarea><br /><a href="javascript: document.fEnviar.submit();"><img src="imgs/btn_enviar.png" width="201" height="32" /></a></div></td>
</tr>
e o outro
ENVIA.PHP
<?
$nome = $_POST["c_nome"];
$email = $_POST["c_email"];
$assunto = $_POST["c_assunto"];
$encontrou = $_POST["c_encontrou"]; //NÃO OBRIGATÓRIO
$mensagem = $_POST["c_mensagem"];
//VALIDANDO FORMULÁRIO
if(empty($nome) || empty($email) || empty($assunto) || strlen($mensagem)==0)
{
header("Location: index.php?erro=1");
}
else
{
//VALIDANDO E-MAIL
$email = str_replace(" ","",$email);
$email = str_replace("/","",$email);
$email = str_replace("@.","@",$email);
$email = str_replace(".@","@",$email);
$email = str_replace(",",".",$email);
$email = str_replace(";",".",$email);
if(substr_count($email, "@") != 1 || substr_count($email, ".") == 0)
{
header("Location: index.php?erro=2");
}
else
{
//CAMPOS OBRIGATÓRIOS OK
//header("Location: index.php?erro=3");
a questão é, sempre que o formulário é enviado, ele faz a verificação, porém, não sai dela, fica sempre no if da 'verificação dos dados do formulário', tenho certeza que deve ser um erro simples, talvez o erro esteja bem na verificação da $mensagem - que é uma <textarea> - mas eu realmente não consigo fazer com que o código saia disso e continue até o envio do e-mail.
Alguém pode me ajudar?
Agradeço desde já!
Carregando comentários...