我有一个页面,我已经设置了倒计时计时器。用户登录后,倒计时开始滴答作响,但当我刷新页面倒计时不重新开始,而是继续与以前的时间。我想让这个计时器在每次刷新页面时重新启动。
i’m try this
<?php
session_start();
if(!isset($_SESSION['starttime'])){
unset($_SESSION['starttime']);
}
else if (!isset($_SESSION['starttime']) && isset($_SESSION['start']))
{
$_SESSION['starttime'] = time();
}
?>
this is timer.
<?php
if ( isset($_SESSION['starttime'])) {
$elapsed = (time() - $_SESSION['starttime']);
// $elasped = (time () - $starttime);
if (($elapsed / 60) < 2) {
echo "var hour=00;";
if ($elapsed == 0)
$elapsed = 1;
echo "min=" . (int) (5 - ($elapsed / 60)) . ";";
if ($elapsed > 60)
echo "sec=" . (60 - ($elapsed - 60)) . ";";
else
echo "sec=" . (60 - $elapsed) . ";";
}
else {
echo "var hour=0;var min=0;sec=01;";
unset($_SESSION['starttime'])
header('location:index.php');
exit();
}
}
?>
我被困在这里了。 如果测试变量包含NULL, isset()函数返回false价值。
条件改变
<?php
session_start();
if(isset($_SESSION['starttime'])){ // Change here.
unset($_SESSION['starttime']);
}
else if (!isset($_SESSION['starttime']) && isset($_SESSION['start']))
{
$_SESSION['starttime'] = time();
}?>
将!
移到isset($_SESSION['starttime'])
之前。isset()
文档
<?php
session_start();
if(isset($_SESSION['starttime'])){ // Change Here
unset($_SESSION['starttime']);
从if(!isset($_SESSION['starttime'])){
中移除!
下面的代码应该是这样的,在第二条件下也不需要检查not isset,因为当第一个条件不正确时,它会进入第二条件。
<?php
session_start();
if(isset($_SESSION['starttime'])){
unset($_SESSION['starttime']);
}else if (isset($_SESSION['start'])){
$_SESSION['starttime'] = time();
}
?>