用户注销后PHP会话不会破坏

jku*_*ner 6 php session

我正在尝试为我的PHP应用程序创建一个身份验证机制,我很难破坏会话.我已经尝试取消设置先前在会话数组中设置并通过破坏会话的身份验证令牌

session_destroy,

以及在销毁会话之前完全重置会话数组.我正在调用头函数并在函数调用结束时返回我的index.php页面.我也试过了

session_write_close

处理关闭会话.当我将用户注销时,我会对会话进行vardump,并且它没有显示数据,但是当我返回index.php页面时,我正在获取用户身份验证数据.我还做了Post数据的vardump,以确保我不会以某种方式重新提交post身份验证处理程序.

关于该做什么的任何建议?

Jon*_*ell 9

首先,确保在打电话session_start();之前打电话,session_destroy();因为如果不这样做,它只会发出警告.

另外,来自PHP:session_destroy:

为了完全终止会话,比如要将用户注销,还必须取消设置会话ID.如果使用cookie来传播会话ID(默认行为),则必须删除会话cookie.setcookie()可能会用于此.

  • +1表示不在logout.php页面上调用session_start. (5认同)