会话中的存储时间


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.为什么从不打印第一个回波?2.为什么(time()>=($_SESSION['t0']+3))不总是真的,因为会话[t0]=time()导致$_SESSION['t0']每秒更新一次?

谢谢!

  1. 第一个echo语句确实被执行,但它只在第一次时发生。一旦会话启动,$_SESSION['t0']的值总是被设置的,所以if条件总是返回false。

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