Registrare logout

intimoviro

Utente Attivo
18 Ago 2009
272
0
0
Salve ho questo codice nella pagina di logout.php che mi serve a salvare l'ora di uscita dal sito di un utente per poi mostrare l'ultimo accesso al suo prossimo collegamento, il mio problema è che se l'utente non esegue il link di logout (cioè esce direttamente dal sito) non mi salva l'ora di uscita, come posso risolvere?

Ecco il codice:

PHP:
?>
<?php
$ora_inizio= $_SESSION['ora_inizio'];
 
if ($_SESSION['logged_in'] == 0)
{   
 $myday=date("d/m/Y");
$myquery = "INSERT INTO sessioni (username, email, data, ora_inizio, ora_fine) VALUES ('$username', '$mail', '$myday', '$ora_inizio', '$ora')";
 $insert2 = mysql_query($myquery);
 } else {
   if(!$insert2) die(mysql_error());  
   }
?>

Grazie ancora! :D
 

lukeonweb

Utente Attivo
5 Mar 2003
5.177
10
38
43
Napoli
www.lucaruggiero.it
Potresti usare dei cookie permanenti per gestire il login (quindi il logout) in modo che se un utente esce dal sito senza fare il logout, in effetti resta connesso e per fare il logout deve per forza usare la funzione (o svuotare la cache).

Se invece vuoi sapere l'ultima volta che è è stato online, a prescindere dal logout o dall'uscita dal sito, puoi provare con una finestrella popup o qualche marchingegno simile...
 

intimoviro

Utente Attivo
18 Ago 2009
272
0
0
Se invece vuoi sapere l'ultima volta che è è stato online, a prescindere dal logout o dall'uscita dal sito, puoi provare con una finestrella popup o qualche marchingegno simile...

Grazie per la tua risposta immediata(come sempre), potresti spiegarmi anche sommariamente come creare e come funziona questa finestrella popup?

Grazie
 

lukeonweb

Utente Attivo
5 Mar 2003
5.177
10
38
43
Napoli
www.lucaruggiero.it
In teoria, all'evento onunload, la funzione verrebbe chiamata anche al passaggio tra una pagina e l'atra... quindi la struttura dovrebbe essere del tipo:

1. due frame, uno nascosto ed uno a tutto schermo, visibile

2. il frame nascosto lancia la funzione (*)

3. quello visibile è il sito

4. (*) la funzione deve semplicemente aprire un popup

5. il popup deve contenere lo script per il logout e l'inserimento nel db dei dati che ti interessano

Spero che la mini-analisi ti sia utile ;)
 

intimoviro

Utente Attivo
18 Ago 2009
272
0
0
Ciao ho seguito il tuo consiglio, ho creato questo script, funziona bene, però ho 2 problemi, cioè uno ad ogni refresh o cambio pagina mi attiva questo script, invece io voglio che accada solo quando si chiude la pagina, l'altro è che mi apre il popup, invece vorrei averlo nascosto.
Ti posto il codice cosi se vuoi potrai aiutarmi a capire:

Tra i tag<head></head>

Codice:
<script type="text/javascript">
function popup_close(){
var win=window.open("utente/close.php","close","top=50,left=300,width=200,height=200");
}
</script>

Poi nel Body:

Codice:
<BODY
onBeforeUnLoad="popup_close()">


Credo che il problema sia "onBeforUnload" per quanto riguarda il refresh, mentre per "window.open" non so cosa inserire per non far aprire il popup

Grazie :fonzie:
 
Ultima modifica:

lukeonweb

Utente Attivo
5 Mar 2003
5.177
10
38
43
Napoli
www.lucaruggiero.it
Prova a cercare su Google o su Mr.Webmaster la soluzione a window.open, è semplicissima!

La sintassi è questa:

window.open("logout.php", null, "top=10, left=10, width=100, height=100");

che vuol dire: apri in popup la pagina logout.php, didimensioni 100X100, a 10 pixel sia dal margine superiore che da quello sinistro.

Per il problema di "ogni volta si attiva", ti ho detto nello scorso messaggio di usare i frame (soluzione che non mi piace, ma funziona).
 

intimoviro

Utente Attivo
18 Ago 2009
272
0
0
Grazie per la risposta di prima
volevo chiederti un'ulteriore cosa, come faccio ad associare questo script che deve essere eseguito solo se si chiude la finestra, cioè la x rossa in alto.
Grazie
 

lukeonweb

Utente Attivo
5 Mar 2003
5.177
10
38
43
Napoli
www.lucaruggiero.it
Non puoi, ecco il motivo per cui usi un frame 0% (sul cui body applichi l'evento onunload) ed un frame 100% che contiene il sito.

Bloccati un attimo: MA STA COSA TI SERVE?

Io dico di no: ho notato che alcuni sistemi di webmail registrano la data di login, NON DI LOGOUT... se uno sta sulla posta per 10 minuti, l'ultimo accesso è sfasato di 10 minuti, ok, ma che te ne frega? Ti aspetti che uno entri, stia due ore, esca e rientri dopo 5 minuti? Ok in questo caso sarebbe poco veritiero... ma di nuovo, che te ne frega???

Mettila cosi: "l'ultima volta che l'utente si è loggato è il giorno tale all'ora tale" e taglia la testa a quella povera bestia del toro!

Non so se sono stato chiaro col mio esempio/effetto, ma spero di averti risparmiato quello che, secondo me, è un inutile mal di testa :)
 
Ultima modifica:

intimoviro

Utente Attivo
18 Ago 2009
272
0
0
Credo che tu abbia proprio ragione, sto impazzedo per trovare questa soluzione, :fonzie:mollo!!!!!!!!

Grazie
 
Discussioni simili
Autore Titolo Forum Risposte Data
L Programma per registrare solo schermo Mac e Software 4
N [PHP] Registrare variabili all'interno di un ciclo PHP 3
filippino Obbligatorio registrare dominio indicando la propria partita IVA? Domini 2
gandalf1959 IPN Listener di Paypal, non riesco a registrare utente nel mio DB PHP 14
L E' possibile registrare dati con javascript? Javascript 4
N Registrare audio micofono Javascript 2
Trapano Registrare da ipcam PHP 0
ivarello Registrare movimento Utenti PHP 6
L Registrare Visual Studio 2012 Express Programmazione 0
G registrare il numero di volte che un utente entra su un db Classic ASP 16
Q registrare gli ingressi di un sito PHP 0
M Non registrare se il "dato" esiste già Classic ASP 8
J registrare un file .wav Programmazione 0
T Programma per registrare da webcam Windows e Software 2
D Logout che rientra col tasto indietro del browser PHP 5
Punix pagine login-logout php principiante PHP 4
fabry1986 [PHP] Errore nome utente scompare dopo logout PHP 14
giancadeejay [PHP] Nome utente e Logout nell'header PHP 0
L [PHP] Logout per inattività PHP 7
P Come visualizzare le notifiche al login/logout dell'utente Javascript 0
C aiuti su login/logout? PHP 3
D Login + MySql + Sessioni + Livelli + Logout PHP 17
U Dati logout PHP 4
L controllo sessione e pagina logout PHP 2
S Index indefinito login - logout PHP 2
E Logout PHP 16
L problemi con il logout Javascript 3
K logout area riservata Classic ASP 1
O Aiuto non riesco a creare una pagina di logout Flash 2
K logout da una pagina protetta Classic ASP 0

Discussioni simili