簡體   English   中英

PHP會話鎖

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM