我的网站上有一个提交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']) ;
?>
答案 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)