无法销毁会话变量

时间:2015-05-23 14:02:14

标签: javascript php jquery session

我想在使用jQuery关闭弹出窗口时取消设置会话变量。 jQuery代码如下:

$("#close").click(function (){
    $("#popup_container2").css("display", "none");
        if($("#popup_container2").css("display")=="none")
        {
            var s=1;
            $.post("check_data.php", "s=" + s, function(respose){
            location.reload();
        });
        }                   
});

只有在设置了$_SESSION['question_temp_id']的情况下加载页面时才会打开此弹出框。否则它不会。为此,我在body标签中添加了此代码。

if(isset($_SESSION['question_temp_id'])) {
    echo 'onLoad="div_show();"';
}

在检查数据页面上,php代码如下。

if(isset($_POST['s']) && $_POST['s']==1) {
    unset($_SESSION['question_temp_id']);
}

问题是即使我取消设置会话变量,弹出窗口仍会打开。 我无法弄清楚这里的问题。请建议。

提前致谢。

2 个答案:

答案 0 :(得分:1)

  1. 调试检查数据页面。可能没有被调用。
  2. if(isset($_POST['s']) && $_POST['s']==1) { unset($_SESSION['question_temp_id']); }

    1. 我的建议是使用question_temp_id的实际值而不是set / unset。您可以使用Y / N值。尽管set / unset应该有效,但比较值通常可以更好地控制以后的代码更改。

答案 1 :(得分:1)

实际上,问题是我没有在开始时使用session_start。由于代码很多,所以很难找到问题所在。然而,后来我发现并纠正了它,现在,代码工作正常。