在会话中存储时间

Store time in a session

我有一个代码可以正常工作,但我有几个问题。我不明白某事的逻辑。代码是:

<?php
session_start();

if(!isset($_SESSION['t0'])) 
{
    $_SESSION['t0']=time();
    echo $_SESSION['t0']."if<br />"; //why this is never printed?
}
else 
{

    if(time()>=($_SESSION['t0']+3))
    {
        echo $_SESSION['t0']."else-ul";
        $culoare="rgb(".rand(0,255).",".rand(0,255).",".rand(0,255).")";
        $_SESSION['t0']=time(); 
    }

}
?>

问题是: 1. 为什么第一个 echo 从不打印? 2. 为什么 (time()>=($_SESSION['t0']+3)) 并不总是正确的,因为 $_SESSION['t0'] 因为 session[t0]=time 而每秒更新一次() ?

谢谢!

  1. 确实执行了第一个 echo 语句,但它只发生在第一次。一旦您的会话开始,$_SESSION['t0'] 的值将始终设置,因此 if 条件将始终 return false。

  2. time()>=($_SESSION['t0']+3) 代码执行 3 秒后条件为真。因此,如果您在 2 秒后重新加载页面,它将不会执行。