关闭浏览器时,PHP会话(session)会终止,但是我想在会话终止后做一些数据库操作,怎么办?
我在写一个PHP聊天室。每次点击“注销”按钮,当前用户退出聊天室时,首先会注销PHPsession,然后会执行一句SQL语句,将正在退出聊天室的这个用户从“在线用户列表”...
我在写一个PHP聊天室。每次点击“注销”按钮,当前用户退出聊天室时,首先会注销PHP session,然后会执行一句SQL语句,将正在退出聊天室的这个用户从“在线用户列表”中删除。但是如果遇到session被动终止的情况(例如:关闭浏览器、session过期),这个SQL语句就执行不到了。我下次再登录聊天室时,发现那个用户名还“在线用户列表”中。请问,怎样在session被动注销的时候,执行一些php语句呢?
展开
2个回答
展开全部
监听 浏览器关闭 执行 删除 在线 语句,session 把服务器上session 过期时间 写成0 应该 就是 只要 不关闭 或 不删除 session 。session 就 永远不过期。
追问
如何用PHP语句或者JavaScript语句监听浏览器关闭事件呢?
追答
php没有,但是 javascript 有 监听 关闭 事件。
window.onbeforeunload = onbeforeunload_handler;
window.onunload = onunload_handler;
function onbeforeunload_handler(){
var warning="确认退出?";
return warning;
}
function onunload_handler(){
var warning="谢谢光临";
alert(warning);
}
这段 代码 可以 监听 用户 关闭浏览器,然后会提示 如果关闭浏览器将丢失 数据 是否真的要离开此页面。 然后 根据用户的选择。去执行你的 sql
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询