在整个用户会话期间只显示一次会话消息?

时间:2013-12-09 18:06:35

标签: php html session

我的网站上有一个提交login.php的html登录表单。 在login.php中是一个带有会话消息的头重定向,它回显到下一页home.php。

我想要做的是使这条消息只运行一次,并且在用户再次登录之前不再显示。目前正在发生的事情是每个页面刷新时都会显示消息。

有人可以告诉我,我可以做些什么来解决这个问题,谢谢。

login.php中的代码:

<?php

    if (logged_in()) 
{ 
$_SESSION['login_message']="<div class=\"login-overlay\">
<h1>Login You In Securely</h1>
</div>"; 
header("Location:home.php");

}

?>
home.php中的

代码:

<?php session_start();
if(isset($_SESSION['login_message'] ))
   echo $_SESSION['login_message'];
    unset($_SESSION['loginframe2']) ;

?>

2 个答案:

答案 0 :(得分:1)

一旦显示登录消息,只需unset

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

现在,如果用户看到了该消息,它将不再出现在会话中。一旦他再次登录,login.php将再次设置变量。

答案 1 :(得分:0)

只需使用和跟踪$_SESSION['message_displayed']之类的变量即可。首次显示消息时将其设置为true,仅在!array_key_exists('message_displayed', $_SESSION)

时显示