2014-10-10 39 views
0

下面是一个可能的场景:一个php页面访问会话的一些会话变量与SSID 1000的会话。在另一个选项卡上,用户注销,这意味着销毁当前会话。我会假设最坏的情况会发生:代码仍然在第1页运行。在那种情况下会发生什么?第1页的代码是否仍然使用SSID 1000中的会话变量,现在不存在?我可以使用“try catch”块来处理引发的潜在异常吗?对于SSID 1000的会话,会话增值会发生什么,我可能会在第1页的数据库查询中使用它?PHP页面原子性和一致性?

我知道这个问题可能是不可思议的,但因为我要处理异常(如果这种情况引发了一个异常),并防止不一致的值插入到DB这种情况对我很重要。

在此先感谢

回答

0

网页是无状态的。它们不处于“登录”或“注销”状态。如果会话在查看页面时关闭,则尝试继续使用会话将失败。当我尝试访问另一个页面时,$ _SESSION将被重新创建 - 一个新的会话。所有你需要做的作为一个网络程序员处理$ _SESSION是空的。

+0

处理的会话是空的是一样的,如果用户从未访问的网站,并没有任何会话。 – 2014-10-10 17:52:50