更新$ _SESSION变量 - PHP

时间:2016-08-16 19:04:42

标签: php session

我在php中有一个脚本在将结果插入到我的表之前执行某些操作,但是如果我在浏览器的多个选项卡中打开它,我试图阻止执行两次或更多相同的脚本,我正在努力做一个这样的技巧,因为我正在使用会话,我得到了一个特定的会话变量,当我运行脚本时会更新,但我的问题是......

如果我有这样的东西

session_start();

if (isset($_SESSION['lock'])) {

    if ($_SESSION['lock'] === false) {

        $_SESSION['lock'] = true;
    }
}

该代码是使用ajax请求执行的文件,一旦使用新值更新变量,它将全局更新?,我的意思是我已经打开两个带有相同页面的选项卡(tab1和tab2)当我在tab2中执行相同操作时,在tab1中执行脚本,值$_SESSION['lock']将是truefalse?,我希望这个解释很好,谢谢。

注意:两个标签同时打开

2 个答案:

答案 0 :(得分:2)

是的,更改$_SESSION是该特定用户的全局更改。但请注意,$_SESSION的更改不会被推送到多个“实时”窗口。只有在任何窗口/选项卡中的后续命中时,新值才有可能影响这些选项卡/窗口。

答案 1 :(得分:1)

是的,会话绑定到唯一的用户,因此它们会扩展到选项卡上。为什么不试试呢?