如何在将用户重定向回主页后显示成功消息?

时间:2018-06-17 19:35:16

标签: javascript php jquery ajax

我有一个使用AJAX和PHP进行验证的注册表单,如果用户没有正确填写表单,我当前可以在注册页面上显示错误消息。当用户成功注册后,他或她将通过以下方式返回我网站的主页:

echo
    "<script type=\"text/javascript\">
        window.location.href='../index.php';                     
    </script>";
exit();

我想知道一旦发生这种情况,如何在我的网站顶部显示成功消息,如果用户在消息显示后刷新主页,则消息会消失。

3 个答案:

答案 0 :(得分:1)

您可以通过几种方式完成,但最简单的方法是将参数传递给index.php文件

index.php?status=1

然后在索引文件中,您将检查该参数是否存在以及它具有什么值(例如0 - 错误,1 - 成功)

if(isset($_GET['status'])) {
  if($_GET['status'] == 1) {
    echo "User was registered successfully!";
  }
}

或者您可以定义(在验证用户数据和登录的脚本上)带有成功消息的会话变量并将其显示在索引页面上

   if(isset($_SESSION['success'])) {
     echo $_SESSION['success'];   
   }

提醒:不要忘记在两个页面(索引页面和验证脚本)中调用session_start()函数

答案 1 :(得分:1)

使用会话,以便在刷新页面时不再显示。

了Serverside:

$_SESSION['success'] = 'Registered!';
echo
    "<script type=\"text/javascript\">
        window.location.href='../index.php';                     
    </script>";
exit();

主页:

if (isset($_SESSION['success']) && ! empty($_SESSION['success'])) {
    echo htmlentities($_SESSION['success']);
    unset($_SESSION['success']);
}

确保在尝试操作会话之前使用session_start();初始化会话

答案 2 :(得分:0)

这是特定于您的应用程序,但我要做的是在成功登录后在PHP会话中设置消息然后在index.php的页面加载时检查该会话