所以我有这个用于发送邮件的PHP文件,我让邮件部分正常工作,然后按照我的要求弹出警报。问题是我希望它保持在同一页面上,或者按原样返回到页面,但由于我之前的回声,标题重定向不会起作用。
这是相关代码:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent = "From: $name \n email: $email \n Message: $message";
$recipient = 'email address';
$subject = 'Message from Website';
$mailheader = "From: $email \r\n";
$captcha;
{
if (isset($_POST['g-recaptcha-response'])) {
$captcha = $_POST['g-recaptcha-response'];
}
if (!$captcha) {
echo '<script language="javascript">';
echo 'alert("Please check the Captcha")';
echo '</script>';
exit;
}
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=secretkey&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);
if($response.success==false) {
echo '<h2>Please do not try and spam here.</h2>';
} else {
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo '<script language="javascript">';
echo 'alert("Your Message successfully sent, we will get back to you ASAP.")';
echo '</script>';
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
}
如何更改代码的最后一部分,以便:在弹出消息提醒后重定向回页面,或者在消息发送后再保留在页面上?
编辑 - 嘿伙计们,我按照我想要的方式工作,我使用了Junaid提供的答案。
我删除了标题行并将javascript更改为以下内容:
echo '<script language="javascript">';
echo 'alert("Your Message successfully sent, we will get back to you ASAP.");';
echo 'window.location.href="index.html";';
echo '</script>';
答案 0 :(得分:3)
<?php echo '<script language="javascript">';
echo 'alert("Your Message successfully sent, we will get back to you ASAP.");';
echo 'window.location.href="index.php";';
echo '</script>';
?>
检查它是否适合您
答案 1 :(得分:0)
在JS中使用
window.location.href = 'www.example.com';
答案 2 :(得分:-2)
你可以使用php&#34; header&#34;。
header('Location: http://www.example.com/'); //Redirects
exit; //Kills all code after the redirect
只需将此信息放在提醒信息之后。