Mas estou com um problema no code descrito acima.
Quando envio a mensagem, aparece a mensagem que foi enviada com sucesso e quando aperto OK aparece outra mensagem dizendo Erro: Todos os campos são obrigatórios
Segue o codigo como eu mudei , quase nada na verdade.
<? // setamos aqui um valor 'verdadeiro' // para a variavel $verifica $verifica = true; // verifica se tem algum campo em branco if($_POST[nome] == "" or $_POST[email] == "" or $_POST[mensagem] == ""){ $verifica = false; $msg = "Erro: Todos os campos são obrigatórios."; $url = "java script:history.go(-1);"; } // verifica se a mensagem tem mais de 1000 caracteres // para evitar muitas besterias... // voce pode mudar a quantidade, ou retirar esta // verificação if(strlen($_POST['mensagem']) > 1000){ $verifica = false; $msg = "Erro: Sua mensagem deve conter no máximo 1000 caracteres."; $url = "java script:history.go(-1);"; } // se $verifica continuar TRUE if($verifica){ // pega o e-mail pra enviar if($_POST[assunto] == 1){ $email = "railantb@gmail.com"; $assunto = "Dúvidas"; } elseif($_POST[assunto] == 2){ $email = "railantb@gmail.com"; $assunto = "Sugestões"; } elseif($_POST[assunto] == 3){ $email = "railantb@gmail.com"; $assunto = "Outros"; } // não permite códigos HTML $mensagem = $_POST[mensagem]; $mensagem = str_replace("<", "<", $mensagem); $mensagem = str_replace(">", ">", $mensagem); $msg = "<font face='verdana' size=2>Nome: {$_POST[nome]}\n"; $msg .= "E-mail: {$_POST[email]}\n"; $msg .= "Mensagem:\n"; $msg .= $mensagem; $msg .= "</font>"; $headers = "From: Contato\n"; $headers .= "Content-type: text/html"; // comando que envia o email $enviar = mail($email, $assunto, $msg, $headers); // se for bem sucedido if($enviar){ $msg = "Sucesso: E-mail enviado com sucesso."; $url = "enviar.php"; } else{ // se houver erro $msg = "Erro: Não foi possível enviar o e-mail."; $url = "enviar.php"; } } ?> <script language="JavaScript"> alert("<?=$msg;?>"); window.location = "<?=$url;?>"; </script>
up !