刷新PHPpage后清除会话变量

时间:2015-10-16 09:37:37

标签: php

我有一个页面,我已设置倒数计时器。用户登录后,倒计时开始计时,但是当我刷新页面倒计时时,不会重新开始,而是继续前一次。我希望每次刷新页面时都会重启此计时器。

我正在尝试这个

  <?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();
    }
}
?>
我被困在这里。

3 个答案:

答案 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();
     } 
?>