在会话中存储时间
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 而每秒更新一次() ?
谢谢!
确实执行了第一个 echo 语句,但它只发生在第一次。一旦您的会话开始,$_SESSION['t0']
的值将始终设置,因此 if 条件将始终 return false。
time()>=($_SESSION['t0']+3)
代码执行 3 秒后条件为真。因此,如果您在 2 秒后重新加载页面,它将不会执行。
我有一个代码可以正常工作,但我有几个问题。我不明白某事的逻辑。代码是:
<?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 而每秒更新一次() ?
谢谢!
确实执行了第一个 echo 语句,但它只发生在第一次。一旦您的会话开始,
$_SESSION['t0']
的值将始终设置,因此 if 条件将始终 return false。time()>=($_SESSION['t0']+3)
代码执行 3 秒后条件为真。因此,如果您在 2 秒后重新加载页面,它将不会执行。