Ciao a tutti,
nel mio sito per fare in modo che quando l'utente chiude la pagina venga aggiornata la tabella degli utenti on line nel database del server ho aggiunto una funzione all'evento window.onunload
ma non funziona. La funzione dovrebbe essere corretta perche se la faccio eseguire da un pulsante funziona correttamente.
posto il codice:
sulla pagina html:
codice:
<script type="text/javascript">
window.onunload = logOut('logout.php'+ '?nick=' + mioNome);
</script>
la funzione javascript:
codice:
function logOut (url) {
var chiamata = false;
if(window.XMLHttpRequest){
chiamata = new XMLHttpRequest();
//chiamata.averrideMomeType("text/xml");
} else if (window.ActiveXObject){
ActiveXObject("Microsoft.XMLHTTP");
}
if(chiamata){
chiamata.open("GET", url);
chiamata.onreadystatechange = function(){
if(chiamata.readyState === 4 &&
chiamata.status === 200){
//alert('logout eseguito');
}// fine if
}// fine funzione anonima
chiamata.send(null);
}
}
la funzione php
Codice PHP:
<?php
$giocatore_nick = $_GET["nick"];
// connessione al server
$connect = mysql_connect("localhost", "root", "password")
or die("Qualcosa non va");
// controllo database
mysql_select_db("trisdb")
or die('database non aperto');
$update = "UPDATE giocatori
SET giocatore_stato = 'Off Line'
WHERE giocatore_nick = '$giocatore_nick'
";
$results = mysql_query($update) or
die (mysql_error());
//echo"logout eseguito con seccesso";
?>
non so come debagare questa cosa perchè se la eseguo col pulsante funziona perfettamente.