Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fernando Neto MH

Onde Estou errando no mail()

Recommended Posts

Olá amigos decidi fazer meu próprio form ai olha só como fiz

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulário de Contato</title>
</head>

<body>

<form id="form1" name="form1" method="post" action="">
<?php if(isset($_POST['envia']) && $_POST['envia'] == 'enviar'){ 

	$nome = $_POST['nome'];
	$email = $_POST['email'];
	$mensagem = $_POST['mensagem'];

if (empty($nome)){
echo "Preencha campo nome";
}else{
if (empty($email)){
echo "Preencha campo email";
}else{
if (empty($mensagem)){
echo "Preencha campo mensagem";
}else{


$headers = "MIME-Version: 1.0";
$headers .= "Content-type: text/html; charset=iso-8859-1"; 
$headers .= "From: <$email>";
$headers .= "Bcc: $assunto";

/// DEFINIÇÕES DE EMAIL 
mail($emaildosite,$assunto,$corpo,$headers);


$assunto = "Novo Contato";
$emaildosite = "EMAILDEDESTINO@..";
$corpo = "
<p><b>Você recebeu em novo contato:<b></p>

<p>Nome: $nome</p>
<p>Email: $email</p>
<p>Mensagem: $mensagem</p>

";
}
}
}
}
?>  
<p>Nome: 
   <input name="nome" type="text" id="nome" value="<?php echo $nome ?>" />
 </p>
 <p>Email : 
   <input name="email" type="text" id="email" value="<?php echo $email ?>" />
 </p>
 <p>Mensagem : 
   <textarea name="mensagem" id="mensagem" cols="45" rows="5"><?php echo $mensagem ?></textarea>
 </p>
 <p>
   <input type="submit" name="button" id="button" value="Enviar" />
   <input type="hidden" name="envia" id="envia" value="enviar" />
 </p>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente sua estrutura de condicionais está incorreta, o certo seria:

if(empty($nome)){
   	echo "Preencha campo nome";
}
elseif(empty($email)){
   	echo "Preencha campo email";
}
elseif(empty($mensagem)){
   	echo "Preencha campo mensagem";
}
else{

Lá no final, tire aquele monte de "fecha chaves" e deixe só 1 deles.

 

Outra coisa é que você chama a função mail antes de definir as variáveis usadas como parâmetros. Insira a mail() antes de fechar a chave lá:

mail($emaildosite, $assunto, $corpo, $headers);
}

 

Se continuar com problemas para enviar, procure uma classe de autenticação SMTP, se persistir, habilite a exibição de erros do PHP e veja o que é informado.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lembrando que desse modo o qual você seta algumas variáveis,irá aparecer

um erro de variável não definida:

<input name="nome" type="text" id="nome" value="<?php echo $nome ?>" />

Antes de setá-la faça algo como:

 

<input name="nome" type="text" id="nome"  value="<?php if(isset($nome)){echo $nome;}else {echo "";}?>" />
//ou com  operador ternario
<input name="nome" type="text" id="nome"  value="<?php echo (isset($nome))? $nome : ""; ?>" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.