Ir para conteúdo

POWERED BY:

Arquivado

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

Nitinha

[Resolvido] Form mail com departamentos

Recommended Posts

Olá gente, estou desenvolvendo um formulário em php que contém departamentos (cada departamento selecionado o email é redirecionado pra um email diferente) e eu estou tendo dificuldades, não consigo achar onde estou errando. Se alguem pudesse me ajudar, serei grata.

 

HTML:

 <form action="shopping.php" name="contato" id="contato" method="post">
<table width="200" border="0">
<caption>Envie seu recado</caption>
 <tr>
   <td align="right">Nome: </td>
   <td><input name="nome" type="text" size="30" /></td>
 </tr>
 <tr>
   <td align="right">Email: </td>
   <td><input name="email" type="text" size="30" /></td>
 </tr>
 <tr>
   <td align="right">Seção: </td>
   <td><select name="setor">
   <option value=""></option>
   <option value="admin">Administrativo</option>
   <option value="fin">Financeiro</option>
   <option value="rh">Recursos humanos</option>
   </select></td>
 </tr>
 <tr>
   <td align="right" valign="top">Comentário: </td>
   <td><textarea name="comentario" cols="30" rows="5"></textarea></td>
 </tr>
 <tr>
 <td colspan="2" align="right"><input type="submit" value="Enviar" name="enviar" /><input type="reset" value="Limpar" name="limpar" />
 </td>
 </tr>
</table>
</form>

 

PHP

<?php
$nome = $_POST['nome'];
$email = $_POST['email'];
$setor = $_POST['setor'];
$comentario = $_POST['comentario'];

$conteudo = "Nome: $nome<br />
		Email: $email<br />
		Comentário: $comentario";

if ($_POST['setor'] == ''){
	echo "Você não selecionou um setor";
}
   if ($_POST['setor'] == 'admin'){
   $recipient = 'email1@end1.com.br';
   }
   if ($_POST['setor'] == 'fin' ){
   $recipient = 'email2@end2.com';
   } else if ($_POST['setor'] == 'rh' ){
   $recipient = 'email3@end3.com';
   }

if(mail($recipient,'Enviado pelo Site',$conteudo)) {
echo "<script type='text/javascript'>window.location.href='obrigado.html'</script>";
} else {
echo '<p>Não foi possível enviar sua mensagem.<br />Tente novamente.</p>';
}
   ?>

 

Aguardo resposta. No teste com o xampp diz que o problema é no "mail".

 

Obrigada :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim que fica mais organizado...

 

$nome = $_POST['nome'];
$email = $_POST['email'];
$setor = $_POST['setor'];
$comentario = $_POST['comentario'];

//monta o corpo do email
$corpo  = "<b>:: Email recebido</b><br /><br \>";
$corpo .= "<br \>";
$corpo .= "<b>Nome ............ : </b>"  .$nome     ."<br />";
$corpo .= "<b>Email ............ : </b>" .$email    ."<br />";
$corpo .= "<fieldset style='width:600px;'> <legend><b>Mensagem</b></legend>" .$comentario."</fieldset><br /><br />";

//verifica para qual email mandar    
if ($setor == ''){echo "Você não selecionou um setor";}
if ($setor == 'admin'){$recipient = 'email1@end1.com.br';}
if ($setor == 'fin'){$recipient = 'email2@end2.com';} 
if ($setor == 'rh'){$recipient = 'email3@end3.com';}

//assunto que aparece na caixa de entrada do email
$assunto  = "Formulario de Contato \n";

// cabeçalho necessário para configurar o email
$headers  = "MIME-Version: 1.0 \r\n";
$headers .= "Content-type: text/html; charset=UTF-8 \r\n";
$headers .= "From: $email \r\n";

$envia = mail($recipient, $assunto, $corpo, $headers);

//se $envia foi realizado
if($envia) echo "enviou";

else echo "deu erro";

 

Codigo testado e funcionando

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigada aos dois!

 

Foi minha primeira tentativa com um form mail em PHP, não conhecia isso dos headers e não sabia sobre o PHPMailer, vocês me ajudaram muito, valeu :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá gente, estou desenvolvendo um formulário em php que contém departamentos (cada departamento selecionado o email é redirecionado pra um email diferente) e eu estou tendo dificuldades, não consigo achar onde estou errando. Se alguem pudesse me ajudar, serei grata.

 

HTML:

 <form action="shopping.php" name="contato" id="contato" method="post">
<table width="200" border="0">
<caption>Envie seu recado</caption>
 <tr>
   <td align="right">Nome: </td>
   <td><input name="nome" type="text" size="30" /></td>
 </tr>
 <tr>
   <td align="right">Email: </td>
   <td><input name="email" type="text" size="30" /></td>
 </tr>
 <tr>
   <td align="right">Seção: </td>
   <td><select name="setor">
   <option value=""></option>
   <option value="admin">Administrativo</option>
   <option value="fin">Financeiro</option>
   <option value="rh">Recursos humanos</option>
   </select></td>
 </tr>
 <tr>
   <td align="right" valign="top">Comentário: </td>
   <td><textarea name="comentario" cols="30" rows="5"></textarea></td>
 </tr>
 <tr>
 <td colspan="2" align="right"><input type="submit" value="Enviar" name="enviar" /><input type="reset" value="Limpar" name="limpar" />
 </td>
 </tr>
</table>
</form>

 

PHP

<?php
$nome = $_POST['nome'];
$email = $_POST['email'];
$setor = $_POST['setor'];
$comentario = $_POST['comentario'];

$conteudo = "Nome: $nome<br />
		Email: $email<br />
		Comentário: $comentario";

if ($_POST['setor'] == ''){
	echo "Você não selecionou um setor";
}
   if ($_POST['setor'] == 'admin'){
   $recipient = 'email1@end1.com.br';
   }
   if ($_POST['setor'] == 'fin' ){
   $recipient = 'email2@end2.com';
   } else if ($_POST['setor'] == 'rh' ){
   $recipient = 'email3@end3.com';
   }

if(mail($recipient,'Enviado pelo Site',$conteudo)) {
echo "<script type='text/javascript'>window.location.href='obrigado.html'</script>";
} else {
echo '<p>Não foi possível enviar sua mensagem.<br />Tente novamente.</p>';
}
   ?>

 

Aguardo resposta. No teste com o xampp diz que o problema é no "mail".

 

Obrigada :)

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.