Ciao a tutti,
Non ho le idee ben in chiaro per come fare questo ve lo posso confermare!![]()
se mi loggo sul mio sito nel db viene inserito 1 per utente loggato e 0 per non loggato e fin qui tutto bene, quando faccio il logout in modo corretto mi aggiorna 1 a 0 cioé non loggato, e fin qui tutto bene.
Ora però se per esempio l'utente chiude il browser senza fare il logout mi rimane impostato su 1 che é sbagliato, come posso fare per risolvere questo problema?
1. All'accesso del login devo impostare l'ora che si é connesso
2. Devo dare una scadenza per esempio 5 minuti
3. se non ha piu navigato nel sito per 5 minuti, eseguo un update alla tabella e imposto su 0
È giusto il mio ragionamento?
Qualcuno mi da una mano gentilmente?
Questa é la mia struttura del db:
E questa la funzione che fara ridere tutti ma che sto cercando di provare a fare! Non é completa sono degli esperimenti che sto provando ma la mia testa non ci arriva!CREATE TABLE `tb_login` (
`lg_id` int(11) NOT NULL auto_increment,
`lg_usr` varchar(10) collate latin1_general_ci NOT NULL,
`lg_pwd` varchar(50) collate latin1_general_ci NOT NULL,
`lg_session` varchar(32) collate latin1_general_ci NOT NULL,
`lg_expire` varchar(5) collate latin1_general_ci NOT NULL,
`lg_timeLogin` time NOT NULL,
`lg_first` datetime NOT NULL,
`lg_last` datetime NOT NULL,
`lg_useronline` int(11) NOT NULL,
PRIMARY KEY (`lg_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=7
;
INSERT INTO `tb_login` VALUES (5, 'Mich', 'fe6255b76b901e7ae1c757db234337d3', '', '5', '00:00:00', '2007-06-06 15:20:31', '2007-06-06 15:23:37', 0);
Grazie MichelCodice PHP:
function checkUserOnline() {
include"config.inc.php";
// leggo i dati
mysql_select_db($database_name, $conn) or die (mysql_error());
$sql = "SELECT * FROM tb_login WHERE lg_usr = 'Admin'";
$query = mysql_query($sql) or die (mysql_error());
$result = mysql_fetch_assoc($query);
$loggato = time($result['lg_timeLogin']);
$ora = date("$loggato");
$scadenza = $loggato + $result['lg_expire'];
echo $loggato . " " . $ora;
echo"
" . $scadenza;
}