我有一个 php 页面,用户在其中尝试查找在线人员。
有一个搜索按钮,点击它,在数据库中为当前用户创建一个条目,并且控件进入一个循环,每 5 秒在数据库中进行一次搜索以查找是否已创建新条目,如果找到一个条目,然后向他显示合作伙伴的详细信息。
我希望如果用户在找到合作伙伴之前退出或导航离开页面,那么必须从数据库中删除他的条目。
我正在尝试将针对用户创建的“id”存储在会话变量中,进行 ajax 调用并删除条目,但不知何故,这个概念不起作用。数据没有被删除。这是因为循环仍在寻找用户或其他东西,我无法得到它。
谁能告诉我我的方法出了什么问题?
我正在使用的代码片段特此
window.onbeforeunload = function() {
funcDeleteonexit();
return "Are you sure you want to navigate away?";
}
function funcDeleteonexit(){
$.get("functions.php",{
data:"delete"
},function(data,status){
});
}
在我的functions.php里面,我有
if($_GET){
if ($_GET['data']=="delete"){
echo deletefromDb();
}
}
function deletefromDb() {
$mysqli = new mysqli("localhost", "root", "", "test");
/* check connection */
if (mysqli_connect_errno())
{
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$currentid = (int)$_SESSION['currentId'];
$query1 = "delete from test where id =". $currentid;
$mysqli->query($query1);
$mysqli->close();
return $currentid;
}