繁体   English   中英

无法销毁会话变量

[英]having trouble destroying a session variable

我想在使用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']);
}

问题是即使我未设置该会话变量,弹出窗口仍会打开。 我在这里找不到问题。 请提出建议。

提前致谢。

  1. 调试检查数据页面。 可能未调用unset。

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

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

实际上,问题是我一开始没有使用session_start 由于有很多代码,因此很难发现问题。 但是,后来我发现并纠正了它,现在,代码可以正常工作了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM