我发送电子邮件后,尝试在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);
?>
在html页面中,我使用以下代码插入联系表单:
<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或类似的东西吗?
感谢您的帮助!
答案 0 :(得分:1)
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>
答案 1 :(得分:1)
将您的PHP放在联系表单所在页面的顶部。
然后更改:<form action="contact.php" method="post">
到
<form action="" method="post">
您还需要将name="submit"
添加到提交按钮字段,然后换行:
if (isset($_POST['submit'])) {
// code
}
此外,如果您要确保人们填写所有字段,您应该使用
if (!empty($var))
{
// code
} else
echo "Fill in this field please";
}
只需在html端使用required即可轻松绕过
。
编辑:一旦满足所有条件,您只需在mail()字段下添加echo“thanks”或任何您想要的消息,以获得成功消息,该消息将输出到表单上方的页面。