PHP Mail如何在页面上显示成功框

时间:2013-05-06 01:25:58

标签: php html forms email

我是PHP新手,我制作了这个PHP邮件,用于常规联系表单...当表单完成后,页面被重定向并显示“邮件已成功发送”。问题是,我不希望页面重定向..我想显示索引的反馈,如成功模式框或表单下面的简单文本“您的消息已发送”...

关于如何做到这一点的任何想法?

<?php
$nome = $_POST['nome'];
$email = $_POST['email'];
$emaildestino = 'contato@zerodesign.com.br';
$email_from='contato@zerodesign.com.br';
$mensagem = $_POST['mensagem'];
$assunto = $_POST['assunto'];
$telefone = $_POST['telefone'];
$titulo = 'Mensagem - TESTE';




 <?php
$nome = $_POST['nome'];
$email = $_POST['email'];
$emaildestino = 'contato@zerodesign.com.br';
$email_from='contato@zerodesign.com.br';
$mensagem = $_POST['mensagem'];
$assunto = $_POST['assunto'];
$telefone = $_POST['telefone'];
$titulo = 'Mensagem - TESTE';




$juntando = '<p>Esta mensagem foi enviada pelo site</p><br/>
<p><b>Nome:</b> '.$nome.'</b></p><br>
<p><b>Email:</b> '.$email.' </b></p><br>
<p><b>Telefone:</b> '.$telefone.'</p> </br>
<p><b>Mensagem:</b></p>
<p><i>'.$mensagem.'</i></p>
<hr>';

$headers = 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
$headers .= "From: $email_from " . "\n";

$envio = mail($emaildestino, $titulo, $juntando, $headers, "-r".$email_from);

if($envio)
echo "Mensagem enviada com sucesso";
else
 echo "A mensagem nãpode ser enviada";
 ?>

这是我的表格:

<form method="POST" name="contactform" action="envia.php"> 
<p><input id="inputt" type="text" name="nome" placeholder="Nome" id="nome" ></p>
<p><input  id="inputt" type="text" name="email" placeholder="Email" id="email"></p>
<p><input class="inputt" type="text" name="telefone" placeholder="Telefone" id="telefone">     </p>
<p><textarea id="mensagem" name="mensagem" rows="5" cols="40" placeholder="Mensagem" id="mensagem"></textarea></p>


<input id="button" type="submit" value="Enviar"><br>
</form>

3 个答案:

答案 0 :(得分:0)

只需将action属性设为空,如...

<form method="POST" name="contactform" action=""> 

因此,该页面将提交给自己。

答案 1 :(得分:0)

如果我理解正确,你想要做的不是访问envia.php页面,你需要在那里发送一个AJAX调用。当ajax调用完成后,您可以使用javascript通过成功消息更新索引页。

答案 2 :(得分:0)

我相信你正在寻找类似的东西:

PHP脚本添加到表单页面的顶部,重定向到同一页面

if(isset($_POST['nome'], $_POST['email'], $_POST['mensagem'], $_POST['assunto'], $_POST['telefone']){
    ...
    $envio = mail($emaildestino, $titulo, $juntando, $headers, "-r".$email_from);
    if($envio){
        $msg = "Mensagem enviada com sucesso";
    }else{
        $msg = "A mensagem nãpode ser enviada";
    }
}

HTML:

<form method="POST" name="contactform" action="<?php echo $_SERVER['SCRIPT_NAME'];?>"> 
    <p><input id="inputt" type="text" name="nome" placeholder="Nome" id="nome" ></p>
    <p><input  id="inputt" type="text" name="email" placeholder="Email" id="email"></p>
    <p><input class="inputt" type="text" name="telefone" placeholder="Telefone" id="telefone">     </p>
    <p><textarea id="mensagem" name="mensagem" rows="5" cols="40" placeholder="Mensagem" id="mensagem"></textarea></p>
    <input id="button" type="submit" value="Enviar"><br>
    <span id="msg"><?php if(isset($msg)){echo $msg;}?></span>
</form>

查看您的网站,您可能希望将<?php if(isset($msg)){echo $msg;}?>添加到页面顶部,或添加滚动到页面底部的js脚本