返回信息流我需要在用户离开或者关闭浏览器时候,删除数据库相关信息,该怎么做啊。。。
这是一条镜像帖。来源:北邮人论坛 / www-technology / #23339同步于 2014/2/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
php如何在用户离开的时候执行
mizy
2014/2/10镜像同步22 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
想在用户离开的时候发ajax不太现实。我记得这样关闭浏览器事件没法捕获到,关闭窗口也无法确保一定能捕获到。所以用超时的方法更靠谱。
【 在 mizy 的大作中提到: 】
: 我需要在用户离开或者关闭浏览器时候,删除数据库相关信息,该怎么做啊。。。
我开始用的就是这种方法,但是js的这个函数不是百分百触发的,有些时候会没法更新
【 在 unnugi 的大作中提到: 】
: 非得用php吗?可不可以考虑用js捕捉浏览器的关闭,然后ajax来更新数据库。
<?php
session_start();
ignore_user_abort();
set_time_limit();
$room=$_SESSION["room"];
include("./DB.class.php");
do{
sleep(10);
if(connection_aborted()){//如果断开连接
$conn=new DB();
unset($_SESSION['room']);
$sql="delete from room where roomname='".$room."'";
$result=$conn->query($sql);//删除房间信息
exit();
}
echo "1";
}while(1);
?>
我是在加载页面的时候ajax这个页面,但是没有效果,很奇怪
【 在 yellowxz 的大作中提到: 】
: 想在用户离开的时候发ajax不太现实。我记得这样关闭浏览器事件没法捕获到,关闭窗口也无法确保一定能捕获到。所以用超时的方法更靠谱。
额。。。那就不太懂了。。。看看大家还有没有别的方法
【 在 mizy 的大作中提到: 】
: 我开始用的就是这种方法,但是js的这个函数不是百分百触发的,有些时候会没法更新