簡體   English   中英

PHP Mail如何在頁面上顯示成功框

[英]PHP Mail how to show success box on page

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

只需將action屬性設為空,例如...

<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:

<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腳本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM