Salve a tutti, ho un problema con un sito che sto scrivendo
Il problema è nel fatto che ho un sito con sistema di login, e volevo fare in modo di riuscire ad avere una lista degli utenti connessi in quel momento
Ho trovato un modo usando 2 file esterni
controlla_stato_utenti.php
Codice PHP:
<?PHP
include 'db_connect.php';
include 'functions.php';
sec_session_start(); // Our custom secure way of starting a php session.
$id_utente = $_SESSION['user_id'];
$sql = "SELECT id FROM members WHERE stato = 1";
$rssql = mysql_query( $sql );
while( $r = mysql_fetch_array( $rssql ) ){
$secondi = 120; // 2 minuti
// controllo se gli utenti non fanno nulla da almeno 2 minuti
if ( ( time() - $r[data_login] ) > $secondi ) {
$sql = "UPDATE members SET stato = 0, data_login = 0 WHERE id = $id_utente LIMIT 1";
mysql_query( $sql );
}
}
?>
e aggiorna_stato_utenti.php
Codice PHP:
<?PHP
include 'db_connect.php';
include 'functions.php';
sec_session_start(); // Our custom secure way of starting a php session.
$id_utente = $_SESSION['user_id'];
$sql = "UPDATE members SET stato = 1, data_login = " . time() . " WHERE id = $id_utente LIMIT 1";
$result = mysql_query( $sql,$mysqli );
die("Errore nella query $sql: " . mysql_error());
?>
Mettendo manualmente nella pagina di processo del login la query dove agigornava a 1 lo stato quando l'utente era online, mi da un errore di connesisone che però non riesce a dirmi, e adesso non mi genera nessun errore o altro, solamente non aggiorna lo stato
Cosa può essere?
dimenticavo, nella pagina principale ho questi per attivare quelle pagine
Codice PHP:
f window.onclick = function() {
var pag = "inc/aggiorna_stato_utente.php";
// Riachiamo questa pagina con ajax ad ogni click dell'utente sulla finestra
// La funzione di riferimento si trova nel file ajax.js che scarichi al link sopra
genera_post( pag, '', '' );
}
window.onload = function() {
var pag = "inc/controlla_stato_utenti.php";
var tempo = 10000; // 10 secondi
// Controllo gli utenti online ogni 10 secondi
// La funzione di riferimento si trova nel file ajax.js che scarichi al link sopra
window.setTimeout( "genera_post( pag, '', '' )", tempo );
}