Ir para conteúdo

POWERED BY:

Arquivado

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

Viper33

Mensagem de erro com mail

Recommended Posts

Tenho o código abaixo para envio de e-mail no meu site que apesar de funcionar está emitindo o seguinte aviso: Warning: mail()[function.mail]: Filename cannot be empty na linha 39. E nessa linha tenho o código: $envia = mail($para, "Comentário efetuado no site", $mensagem, $headers);

 

Como corrigir isso?

 

<?php
error_reporting (E_ALL ^ E_NOTICE);
$nome = $_POST['n_nome'];
$email = $_POST['email'];
$site = $_POST['n_site'];
$comentario = $_POST['c_comentario'];
$moderacao = $_POST['moderar'];
$id_artigo = $_POST['identificacao'];
if (($nome == "") || ($email == "") || ($comentario == "")){
echo "<p>Caro usuário, apenas o campo site pode ficar em branco! Preencha corretamente!</p>";
echo "<p><a href='./compacta.php'>Voltar</a></p>";
return false;
}
if(substr_count($email, "@") == 0 || substr_count($email, ".") == 0) {
echo "<p>Caro usuário, informe seu e-mail corretamente!</p>";
echo "<p><a href='./compacta.php'>Voltar</a></p>";
return false;
}
$headers = "Content-type:text/html; charset=UTF-8<br>";
$headers = "From: $email";
$para = "xuxa@gmail.com";
$mensagem .= "De: $nome<br>";
$mensagem .= "E-mail: $email<br>";
$mensagem .= "Site: $site<br>";
$mensagem .= "Comentário: $comentario";
$envia = mail($para, "Comentário efetuado no site", $mensagem, $headers);
$insere = $pdo->prepare("INSERT INTO `tb_comentarios` SET nome = ?, email = ?, site = ?, comentario = ?, moderacao = ?, id_artigo = ?");
$insereBanco = array($nome, $email, $site, $comentario, $moderacao, $id_artigo);
if ($insere->execute($insereBanco)) {
echo '<script>alert("Seu comentário foi enviado, porém, aguarda liberação do administrador do site! Obrigado!");history.back(1);</script>';
}
exit();
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza buenoweb. Resolveu o meu problema. Porém, fiquei com a sensação de que preciso descobrir o motivo desse aviso. Você sabe me informar? Estou marcando como resolvido.

Muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tiro sua razão, por isso o @ deve ser usado com muita cautela e é indicado para situações que desejamos omitir um provável erro de execução.

 

Pode ser erro no cabeçalho.

o <br> não deve ser usado no cabeçalho. Substitua-o por \n

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok. Mesmo sem o br continua dando a mensagem. Vou continuar testando no meu computador e online deixarei o @ por enquanto.

Obrigado.

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.