ユーザーがオンラインの人々を見つけようとする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;
}