我想要代码段
echo "This is a test";
每小时打印一次。因此,当用户第一次打印时,它会侵入index.php。当用户重新加载页面后,它应该消失。一小时后,它应该再打印一次...... 我怎样才能做到这一点?感谢。
答案 0 :(得分:4)
这应该有效:
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 :(得分:3)
而不是会话,将Cookie设置为在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
}
答案 2 :(得分:0)
您可以将当前时间设置为$ _SESSION变量,如果用户更改了页面,请检查会话时间变量。 如果该时间超过一小时,则显示消息