Hallo ich ein Skript codiert haben Informationen diejenigen zu aktualisieren Benutzerseite zu verlassen versucht, aber mein Code arbeiten nicht und weiß nicht, warum ich Hilfe brauchen, diese zu lösen:JQuery Ajax-mysql-Update, bevor Benutzer verlässt
jquery:
$(window).bind('beforeunload', function(){
$.ajax({
type: 'POST',
url: 'updateusers.php',
data: {
username: username,
usertype: usertype,
email: email,
level: level,
exp: exp,
money: money,
ninjarank: ninjarank,
avatar: avatar,
village: village,
clan: clan,
guild: guild,
healthpoint: healthpoint,
chakrapoint: chakrapoint,
ninjutsu: ninjutsu,
taijutsu: taijutsu,
genjutsu: genjutsu,
senjutsu: senjutsu,
talent: talent,
chakra: chakra,
health: health,
chakracontrol: chakracontrol
}
});
});
updateusers.php:
<?php
require "mysql.php";
session_start();
$userid = $_POST["userid"];
$usertyp = $_POST["usertype"];
$email = $_POST["email"];
$level = $_POST["level"];
$exp = $_POST["exp"];
$money = $_POST["money"] + 1000;
$ninjarank = $_POST["ninjarank"];
$avatar = $_POST["avatar"];
$village = $_POST["village"];
$clan = $_POST["clan"];
$guild = $_POST["guild"];
$healthpoint = $_POST["healthpoint"];
$chakrapoint = $_POST["chakrapoint"];
$ninjutsu = $_POST["ninjutsu"];
$taijutsu = $_POST["taijutsu"];
$genjutsu = $_POST["genjutsu"];
$senjutsu = $_POST["senjutsu"];
$talent = $_POST["talent"];
$chakra = $_POST["chakra"];
$health = $_POST["health"];
$chakracontrol = $_POST["chakracontrol"];
$stmt = $connect->prepare("UPDATE users u SET
u.usertype=?,
u.email=?,
u.level=?,
u.exp=?,
u.money=?,
u.ninjarank=?,
u.avatar=?,
u.village=?,
u.clan=?,
u.guild=?,
u.healthpoint=?,
u.chakrapoint=?,
u.ninjutsu=?,
u.taijutsu=?,
u.genjutsu=?,
u.senjutsu=?,
u.talent=?,
u.chakra=?,
u.health=?,
u.chakracontrol=?
WHERE userid= ?");
$stmt->bind_param("isiiisssssiiiiiiiiiii",
$usertype,
$email,
$level,
$exp,
$money,
$ninjarank,
$avatar,
$village,
$clan,
$guild,
$healthpoint,
$chakrapoint,
$ninjutsu,
$taijutsu,
$genjutsu,
$senjutsu,
$talent,
$chakra,
$health,
$chakracontrol,
$userid
);
$stmt->execute();
$stmt->close();
$connect->close();
?>
so versuche ich alle Informationen diejenigen senden Benutzerseite zu verlassen versucht, updateusers.php und es Update-Abfrage zu tun, aber aus irgendeinem Grund es funktioniert nicht, ich habe dies nur gemacht, um zu sehen, ob es funktioniert oder nicht $ Geld = $ _POST ["Geld"] + 1000; ich addiere +1000 auf jedes Mal, wenn Benutzer verlässt, aber überhaupt nichts an Datenbank geändert
Sind alle Variablen global, die Sie mit Ajax an den Server senden? Und Sie können 'async: false' verwenden, um sicherzustellen, dass die Anfrage abgeschlossen wurde. und Sie können auch hinzufügen 'ignore_user_abort();' mehr [hier] (http://php.net/manual/en/function.ignore-user-abort.php) – itzmukeshy7
Ich sende SESSION-Variablen – yahoo5000