在警告消息之后,使用PHP重定向到HTML页面

时间:2015-10-08 13:02:54

标签: javascript php html

所以我有这个用于发送邮件的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>';

3 个答案:

答案 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

只需将此信息放在提醒信息之后。