php会话不会在刷新时销毁

时间:2010-01-21 19:12:57

标签: php

我正在进行一个10个问题的调查,一个问题。我做了一个在问题之间传递价值的会议。我发现的事情是,即使页面刷新,会话值也不会被破坏。有没有解决方法,或者我做错了什么。

只是为了说清楚,这是代码:

session_start(); 
//  $_SESSION['score'] = $score;
    $_SESSION['qnum'] = isset($_SESSION['qnum']) ? $_SESSION['qnum']+1 : 1;

    if ($_SESSION['qnum'] < 10){
        $_SESSION['total'] = isset($_SESSION['total']) ? $_SESSION['total']+$score : $score;
    }
    else if ($_SESSION['qnum'] == 10){
        $_SESSION['total'] = isset($_SESSION['total']) ? $_SESSION['total']+$score : $score;
        echo "finished";
    }

    echo $_SESSION['qnum'];
    echo '\n';
    echo $_SESSION['total'];

4 个答案:

答案 0 :(得分:5)

$ _ SESSION变量将保留,直到您终止会话或取消设置()会话变量。

要结束会话,请尝试以下代码:

$_SESSION = array();
session_unset();
session_destroy();

要删除会话变量,请使用:

unset($_SESSION['variablename']);

答案 1 :(得分:2)

这是会议的重点 - 他们坚持浏览会议。您使用它们就像普通的变量一样,这让我问:为什么不使用普通变量呢?

答案 2 :(得分:0)

这是会话变量的整体美和概念,它不会破坏直到或除非你破坏或取消它。 问题是什么,你的代码是完全正确的,你将问题编号和总分保存为会话变量并得分为本地。只需在测验结束时做一件事使用sesion_destroy()

破坏会话

答案 3 :(得分:0)

隐藏变量可能是一个更好的工具,可用于您的目的。会话变量本质上是为了持续整个应用程序 session