Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP邮件如何在页面上显示成功框_Php_Html_Forms_Email - Fatal编程技术网

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

PHP邮件如何在页面上显示成功框,php,html,forms,email,Php,Html,Forms,Email,我是PHP新手,我制作了这封PHP邮件,作为一个普通的联系方式。。。表单完成后,页面将被重定向并显示“消息已成功发送”。问题是,我不希望页面重定向。。我想显示一个关于索引的反馈,比如一个成功模式框,或者在“你的消息已发送”表单下面显示一个简单的文本 有什么办法吗 <?php $nome = $_POST['nome']; $email = $_POST['email']; $emaildestino = 'contato@zerodesign.com.br'; $email_from='c

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



只需将
操作
属性设置为空,就像

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


因此,页面将自动提交

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

我相信您正在寻找以下内容:

添加到表单页面顶部的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:


你好,谢谢你的回答。我用单引号进行了测试,它仍然重定向到一个空白的白色页面,只包含文本“email was sent successfuly”我想在主页上显示一点文本,只是在联系人表单下的一个简单反馈。。。或者可能是一个带有文本“sentedsuccessfully”的模态div,但我只是添加了那个文本。它应该显示,无论是基于事实的文本,如果图像已发送或未发送,但没有重定向。。。当客户端按“发送”时,小文本自动向上显示脚本上没有重定向。因此,如果按send,页面将保持原样
<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>