[英]php session lock
我想要代码片段
echo "This is a test";
每小时打印一次。 因此,当用户首次加载index.php时,应将其打印出来。 当此后用户立即重新加载页面时,它应该消失。 一小时后,应该再次打印...我该怎么做? 谢谢。
这应该工作:
session_start();
if (!isset($_SESSION["last_shown"])) // If the session variable
// was never set
or ($_SESSION["last_shown"] < (time() - 3600)) // or was set more than
// 1 hour (3600 secs) ago
{
echo "This is a test"; // Make output
$_SESSION["last_shown"] = time(); // Update session variable
// with current time
}
将会话设置为在1小时后过期,而不是会话。 在页面加载时,如果其中存在cookie,则不会显示该消息。 与会话相比,优点是用户可以关闭浏览器并稍后返回(如果需要)
if (!isset($_COOKIE['sesslock']))
{
// No cookie - show message & set cookie (expires in 1 hour, 3600sec)
setcookie('sesslock','ok', time()+3600);
echo "this is a test";
}
else
{
// The cookie is there, don't display your message
}
您可以将当前时间设置为$ _SESSION变量,如果用户更改页面,请检查会话时间变量。 如果该时间大于一小时,则显示该消息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.