doulu1907 2012-05-01 20:05 采纳率: 100%
浏览 80
已采纳

强制用户注销会话PHP

I can't seem to find a straightforward answer to this question. Is there a way in which I can force a logged in user to logout? My login system essentially just relies on a session containing the user's unique ID (which is stored in a mysql database). So essentially just...

if (isset($_SESSION['user_id'])) {
echo "You're logged in!";
} else {
echo "You need to login!";
}

But let's say I want to ban this user, well I can change their status to banned in my database but this won't do anything until the user logs out and attempts to log back in... So, how do I force this user to logout? Preferably without checking every single time they view a page whether or not their status has been switched to "banned" because that seems like unnecessary stress on my server. Any help is appreciated, thank you.

  • 写回答

9条回答 默认 最新

  • douyiji3919 2012-05-01 20:07
    关注

    Either you need to check every time they load a page, or possibly look at an Ajax call at set intervals to check their status from the DB.

    Then you can use session_destroy(); to end their session. This will destroy their entire session.

    Otherwise you can use unset($_SESSION['user_id']); to unset a single session variable

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部