[英]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.