1

我是 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>
4

3 回答 3

0

Just make the action attribute empty like...

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

So, the page will submit to itself.

于 2013-05-06T01:35:32.513 回答
0

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

于 2013-05-06T01:49:09.063 回答
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 脚本

于 2013-05-06T01:50:45.490 回答