Salve,
sto creando una web e da una paio di giorni sono bloccato su uno script che non riesco a far funzionare.
Voglio che le persone inscritte, al entrare con login nella web, risultino come "online".
Nella base di dati ho un campo con nome "stato" dove al entrare con sessioni o con coockie cambia con valore online o offline. Questo mi permette sapere chi è connesso e chi no.
Il problema è quando l'usuario chiude la finestra del navigatore, non potendo chiamare nessun script non so come cambiare il valore a offline nella base di dati.
Ho pensato di usare nel body:
codice:
<body onbeforeunload=funzione()>
Nell'head:
codice:
<!--<script type="text/javascript">
function funzione()
{
$.ajax({
url: 'php/offline.php',
type: 'post',
data: '',
success: function()
{
alert(ok');
}
});
}
</script>
E il file php:
Codice PHP:
<?php
include "config.php";
$DB = new DB();
$DB->connect();
session_start();
$id_usuario_out = $_SESSION['id_usuario_ses'];
$sqlonline = "UPDATE usuario SET estado = 'offline' WHERE id_usuario = '$id_usuario_out' LIMIT 1";
$onlineses = mysql_query($sqlonline);
$last_onlineses = mysql_insert_id();
}
?>
Come mai non mi funciona?
Per voi il ragionamento è giusto? Faccio bene a usare onbeforeunload?
Secondo me sbaglio la connessione tra php e JavaScript, ho provato di tutto...
QUello che voglio ottenere è il classico online e offline (come nelle chat), che già si usa da anni...
Grazie mille!