Ciao ragazzi, sto diventando matto!
Allora, ho creato una classe e dentro ho inserito questa funzione che IN TEORIA dovrebbe prendere il tempo corrente e vedere se c'è la sessione nel database per capire gli utenti che sono in linea.
Codice PHP:
function onLine(){
// inizio la sessione
session_start();
// connessione al database
require('./databases/dbConnect.php');
// tempo di timeout
$timeout = 100; // 5 minuti e non si è considerati in linea
// tempo corrente
$time = time();
// sottrazione per la differenza
$esatto = $time - $timeout;
// recupero l'ip
$ip = $_SERVER['REMOTE_ADDR'];
// recupero l'id di sessione
$session_id = session_id();
// elimino tutti i record vecchi
$query=mysql_query("DELETE FROM online WHERE time = '$esatto'") or die ("Impossibile eseguire la query: ".mysql_error());
// controllo se la sessione esiste già
$query=mysql_query("SELECT ip,session_id FROM online WHERE ip = '$ip' AND session_id = '$session_id'") or die ("Impossibile eseguire la query: ".mysql_error());
// controllo sessione
if ($result = mysql_num_rows($query) > 0){
echo "sessione già presente...";
}else{
$query=mysql_query("INSERT INTO online (id,ip,session_id,time) VALUES ('','$ip','$session_id','$time')") or die ("Impossibile eseguire la query :".mysql_error());
echo "Dati inseriti....";
}
$linea=mysql_query("SELECT id FROM online") or die ("Impossibile eseguire la query: ".mysql_error());
$totale=mysql_num_rows($linea);
echo $totale;
}
Il problema è che non mi leva il campo dal database pure essendo passati i 100 secondi....Come mai?
Aiutatemi vi prego, sto impazzendo!!