使用php发送邮件后返回页面中的消息状态

使用php发送邮件后返回页面中的消息状态,php,contact,Php,Contact,发送电子邮件后,我尝试在html页面中显示消息。 我不想将javascript与警报一起使用,只想在发送按钮后显示一条简单的消息 我用以下代码创建了一个联系php页面: <?php $field_name = $_POST['cf_name']; $field_email = $_POST['cf_email']; $field_telefon = $_POST['cf_telefon']; $field_message = $_POST['cf_message']; $mail_to

发送电子邮件后,我尝试在html页面中显示消息。 我不想将javascript与警报一起使用,只想在发送按钮后显示一条简单的消息

我用以下代码创建了一个联系php页面:

<?php

$field_name = $_POST['cf_name'];
$field_email = $_POST['cf_email'];
$field_telefon = $_POST['cf_telefon'];
$field_message = $_POST['cf_message'];
$mail_to = 'diaconu.eduardstefan@gmail.com';;
$from = 'Mesaj nou de la:'.$field_name;
$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Telefon: '.$field_telefon."\n";
$body_message .= 'Message: '.$field_message;
$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";
$mail_status = mail($mail_to, $from, $body_message, $headers);

 ?>
       <form  action="contact.php" method="post">
                        <div class="form-group">
                            <label for="name">
                                Nume
                            </label>
                            <input type="text" name="cf_name" placeholder="" id="name" class="form-control" required="true">
                        </div>
                        <div class="form-group">
                            <label for="email">
                                Email
                            </label>
                            <input type="text" name="cf_email"  placeholder="" id="email" class="form-control" required="true">
                        </div>
                        <div class="form-group">
                            <label for="phone">
                                Telefon
                            </label>
                            <input type="text" name="cf_telefon" id="phone" class="form-control">
                        </div>
                        <div class="form-group">
                            <label for="phone">
                                Mesaj
                            </label>
                            <textarea name="cf_message" placeholder="" rows="5" class="form-control" required="true">
                            </textarea>
                        </div>

                        <input class="btn btn-info" type="submit" value="Trimite" >
<?php if($send_mail) {
if($mail_status){
print "succes";
exit();
}
else {
print "eroare";
}
        }       
?>
                    </form>

在html页面中,我插入了一个带有以下代码的联系人表单:

<?php

$field_name = $_POST['cf_name'];
$field_email = $_POST['cf_email'];
$field_telefon = $_POST['cf_telefon'];
$field_message = $_POST['cf_message'];
$mail_to = 'diaconu.eduardstefan@gmail.com';;
$from = 'Mesaj nou de la:'.$field_name;
$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Telefon: '.$field_telefon."\n";
$body_message .= 'Message: '.$field_message;
$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";
$mail_status = mail($mail_to, $from, $body_message, $headers);

 ?>
       <form  action="contact.php" method="post">
                        <div class="form-group">
                            <label for="name">
                                Nume
                            </label>
                            <input type="text" name="cf_name" placeholder="" id="name" class="form-control" required="true">
                        </div>
                        <div class="form-group">
                            <label for="email">
                                Email
                            </label>
                            <input type="text" name="cf_email"  placeholder="" id="email" class="form-control" required="true">
                        </div>
                        <div class="form-group">
                            <label for="phone">
                                Telefon
                            </label>
                            <input type="text" name="cf_telefon" id="phone" class="form-control">
                        </div>
                        <div class="form-group">
                            <label for="phone">
                                Mesaj
                            </label>
                            <textarea name="cf_message" placeholder="" rows="5" class="form-control" required="true">
                            </textarea>
                        </div>

                        <input class="btn btn-info" type="submit" value="Trimite" >
<?php if($send_mail) {
if($mail_status){
print "succes";
exit();
}
else {
print "eroare";
}
        }       
?>
                    </form>

努姆
电子邮件
电传
梅萨伊
已成功发送电子邮件,但未显示邮件。按下发送按钮后,联系人表单返回空白页。我想返回带有消息的同一页。(更新)

也许存在另一种方法?用get或类似的东西

谢谢你的帮助

if($\u POST){
    if($_POST){
      // send mail code here
      $field_name = $_POST['cf_name'];
      $field_email = $_POST['cf_email'];
      $field_telefon = $_POST['cf_telefon'];
      $field_message = $_POST['cf_message'];
      $mail_to = 'diaconu.eduardstefan@gmail.com';;
      $from = 'Mesaj nou de la:'.$field_name;
      $body_message = 'From: '.$field_name."\n";
      $body_message .= 'E-mail: '.$field_email."\n";
      $body_message .= 'Telefon: '.$field_telefon."\n";
      $body_message .= 'Message: '.$field_message;
      $headers = 'From: '.$field_email."\r\n";
      $headers .= 'Reply-To: '.$field_email."\r\n";
      $mail_status = mail($mail_to, $from, $body_message, $headers);
      if($mail_status){
       echo 'mail send';
      }else{
       echo 'mail not send';
      }
    }

    //place html code here below the php code
           <form  action="" method="post">
                        <div class="form-group">
                            <label for="name">
                                Nume
                            </label>
                            <input type="text" name="cf_name" placeholder="" id="name" class="form-control" required="true">
                        </div>
                        <div class="form-group">
                            <label for="email">
                                Email
                            </label>
                            <input type="text" name="cf_email"  placeholder="" id="email" class="form-control" required="true">
                        </div>
                        <div class="form-group">
                            <label for="phone">
                                Telefon
                            </label>
                            <input type="text" name="cf_telefon" id="phone" class="form-control">
                        </div>
                        <div class="form-group">
                            <label for="phone">
                                Mesaj
                            </label>
                            <textarea name="cf_message" placeholder="" rows="5" class="form-control" required="true">
                            </textarea>
                        </div>

                        <input class="btn btn-info" type="submit" value="Trimite" >

                    </form>
//在这里发送邮件代码 $field\u name=$\u POST['cf\u name']; $field\u email=$\u POST['cf\u email']; $field_telefon=$u POST['cf_telefon']; $field\u message=$\u POST['cf\u message']; $mail_to='diaconu。eduardstefan@gmail.com';; $from='Mesaj nou de la:'。$field_name; $body\u message='From:'。$field\u name.\n; $body_message.='E-mail:'。$field_email.\n; $body\u message.='Telefon:'。$field\u Telefon.\n; $body_message.='message:'。$field_message; $headers='From:'.$field\u email.\r\n; $headers.=“回复:”.$field\u电子邮件。“\r\n”; $mail\u status=mail($mail\u to,$from,$body\u message,$headers); if($mail\u状态){ 回音“邮件发送”; }否则{ 回显“邮件不发送”; } } //将html代码放在php代码下面 努姆 电子邮件 电传 梅萨伊
将您的PHP放在联系人表单所在页面的顶部

然后更改:

您还需要在提交按钮字段中添加
name=“submit”
,然后换行:

if (isset($_POST['submit'])) {

// code

}
此外,如果您试图确保人们填写所有字段,您应该使用

if (!empty($var))
{
// code
} else
echo "Fill in this field please";
}
只需在html端使用required,就可以轻松绕过必填字段


编辑:满足所有条件后,您只需在mail()字段下添加echo“谢谢”或任何您想要的消息,即可获得成功消息,该消息将输出到表单上方的页面。

感谢回复!我在contact.php中插入了您的代码,现在,在按下send按钮之后,我有了一个带有消息状态的新页面,我不想要这个。我想在发送按钮(按下按钮后)后显示消息。为此,有必要在html页面中添加我的代码……可能是为了创建一个会话或类似的东西来存储信息。这意味着您不想重定向页面,事实上,当有人单击“发送”按钮时,您想在同一页面上显示消息?是的。:)这是我想要的。所以你可以在AjaxYes的帮助下实现这一点。是的,这是一个选项……但我认为在按下按钮后返回更简单,消息将成功发送到同一页面。我已更新了我的答案,请按以下方式使用