我有一个页面,我已设置倒数计时器。用户登录后,倒计时开始计时,但是当我刷新页面倒计时时,不会重新开始,而是继续前一次。我希望每次刷新页面时都会重启此计时器。
我正在尝试这个 <?php
session_start();
if(!isset($_SESSION['starttime'])){
unset($_SESSION['starttime']);
}
else if (!isset($_SESSION['starttime']) && isset($_SESSION['start']))
{
$_SESSION['starttime'] = time();
}
?>
这是计时器..
<?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();
}
}
?>
我被困在这里。
答案 0 :(得分:2)
如果测试变量包含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();
}?>
答案 1 :(得分:1)
删除!
之前的isset($_SESSION['starttime'])
。 isset()
documentation
<?php
session_start();
if(isset($_SESSION['starttime'])){ // Change Here
unset($_SESSION['starttime']);
答案 2 :(得分:0)
从!
if(!isset($_SESSION['starttime'])){
下面的代码应该是这样的,不需要在第二个条件下检查不是isset,因为当第一个不正确时它进入第二个条件。
<?php
session_start();
if(isset($_SESSION['starttime'])){
unset($_SESSION['starttime']);
}else if (isset($_SESSION['start'])){
$_SESSION['starttime'] = time();
}
?>