HTML.it è il sito italiano del web publishing

Di sessioni ed altre diavolerie



scegli un altro forum
  Pagine (2): [ 1   2   > ]  Indietro   Ricarica   Avanti Invia una risposta

Autore
Discussione     
phpmydeath
Utente di HTML.it



Registrato il: Jun 2012

Provenienza: Terra d'Otranto

Messaggi: 75


ICQ:

MSN:

Skype:


Di sessioni ed altre diavolerie
Buongiorno a tutti,
vorrei chiedervi un consiglio visto che col php sono agli albori.

Ho inserito nel mio codice una variabile superglobale:

codice PHP:

$_SESSION
['started'] = date('d/m/Y H:i:s');


la quale mi permette una volta logato di aggiornare la pagina o muovermi nelle pagine in costruzione ed avere sempre il riferimento al login appena eseguito senza che avvenga la modifica dell'ora.

Vorrei però che tale sessione si riferisse al login precedente, magari avvenuto il giorno prima, comunicante esempio (dopo essermi logato stamani):
codice:
Ultimo accesso: 13/7/2012 22:04:33


Ora ieri ho provato in mille modi e se ottengo il riferimento al login precedente aggiornando la pagina o muovendomi nel sito questo riferimento si perde, mentre se metto la variabile superglobale ho solo il riferimento all'ingresso appena avvenuto e non muta durante tutta la sessione (e questo mi va bene).

Vorrei sapere se quel che chiedo contemporaneamente, cioè:
- riferimento al login avvenuto precedentemente,
- riferimento immutabile durante tutta la sessione
sono cose fattibili direttamente utilizzando le sessioni; oppure se debba introdurre i cookie.

Vi posto il codice, magari noterete l'errore e tutto si risolverà in breve:
codice PHP:
<?php 
date_default_timezone_set
('Europe/Rome');
$query 'SELECT UltimoAccesso FROM Docente WHERE Login=''.addslashes($_SESSION['login']).''';  
$result $__MYSQLI->query($query);
$ultacc '(n.a.)'
if (
$result->num_rows 0
while( 
$now$result->fetch_assoc() )

$ultacc $now['UltimoAccesso'];} 
$query 'UPDATE Tesi.Docente SET UltimoAccesso= now() WHERE Login=''.addslashes($_SESSION['login']).''';
$result $__MYSQLI->query($query); 

print 
"Ultimo accesso avvenuto il ".date('d-m-Y',strtotime($ultacc))." alle ore ".date('H:i:s',strtotime($ultacc))."<br>";
print 
"Ultimo accesso avvenuto il ".$_SESSION['started']."<br>";
?>

il primo print riferisce al vecchio login ma mi si aggiorna appena navigo
il secondo print mantiene il login ma però riferito alla sessione attuale e non alla precedente.
La variabile $_SESSION['started'] è presente sia qui che in un'altra pagina quando il login viene effettuato.

Purtroppo per me questo è lo scoglio più grosso da superare, risolto questo problema molte cose proseguiranno lisce... e vi lascerò un po' respirare

Grazie a chi saprà darmi consigli utili.

Ultima modifica ad opera dell'utente phpmydeath il 14-07-2012 alle 10:08

Segnala ad un moderatore | IP: Collegato | Permalink

phpmydeath è offline Old Post 14-07-2012 10:03
Clicca qui per vedere il profilo dell'utente phpmydeath Clicca qui per inviare all'utente phpmydeath un messaggio privato Visualizza ulteriori messaggi scritti dall'utente phpmydeath Aggiungi l'utente phpmydeath alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Manuelandro
Utente di HTML.it



Registrato il: Jun 2004

Provenienza: Napoli

Messaggi: 2427


ICQ :

MSN :

Skype :


se ho ben capito, dovresti solo fare una query al login che ti pesca l'ultimo login effettuato, salvarlo in sessione e successivamente aggiornare l'ultimo login con un update.
Quindi fino a quando resti dentro, hai la sessione memorizzata che fa riferimento al vecchio login, ma se esci e rientri la nuova sessione farà riferimento all'update che hai fatto poco prima e così via.


__________________
http://codecanyon.net/category/all?ref=Manuelandro
And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
memories to be made

Segnala ad un moderatore | IP: Collegato | Permalink

Manuelandro è offline Old Post 14-07-2012 13:25
Clicca qui per vedere il profilo dell'utente Manuelandro Clicca qui per inviare all'utente Manuelandro un messaggio privato Visita l'homepage dell'utente Manuelandro Visualizza ulteriori messaggi scritti dall'utente Manuelandro Aggiungi l'utente Manuelandro alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
phpmydeath
Utente di HTML.it



Registrato il: Jun 2012

Provenienza: Terra d'Otranto

Messaggi: 75


ICQ :

MSN :

Skype :


Giusto hai compreso perfettamente, vorrei anche evitare di utilizzare i cookie.

Segnala ad un moderatore | IP: Collegato | Permalink

phpmydeath è offline Old Post 14-07-2012 13:41
Clicca qui per vedere il profilo dell'utente phpmydeath Clicca qui per inviare all'utente phpmydeath un messaggio privato Visualizza ulteriori messaggi scritti dall'utente phpmydeath Aggiungi l'utente phpmydeath alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
phpmydeath
Utente di HTML.it



Registrato il: Jun 2012

Provenienza: Terra d'Otranto

Messaggi: 75


ICQ :

MSN :

Skype :


Buongiorno,
ho risolto.

Questa parte di codice risiede nella home, dopo aver effettuato il login:
codice PHP:
<?php 
date_default_timezone_set
('Europe/Rome');
$query 'SELECT UltimoAccesso FROM Docente WHERE Login=''.addslashes($_SESSION['login']).''';  
$result $__MYSQLI->query($query);
$ultacc '(n.a.)'
if (
$result->num_rows 0
while( 
$now$result->fetch_assoc() )

$ultacc $now['UltimoAccesso'];} 


print 
"Ultimo accesso avvenuto il ".date('d-m-Y',strtotime($ultacc))." alle ore ".date('H:i:s',strtotime($ultacc))."<br>";

?>


Mentre quella relativa all'aggiornamento dell'ora è inserita quando un individuo si sconnette, e proprio prima di far cadere la connessione effettuo la quey:
codice PHP:

if (isset($_SESSION['login']) && $_SESSION['isLoggedIn'] == 'true')
{
$query 'UPDATE Tesi.Docente SET UltimoAccesso= now() WHERE Login=''.addslashes($_SESSION['login']).''';
$result $__MYSQLI->query($query); 
  
session_destroy();
}


Per cui quando nuovamente mi logo ottengo la data e l'ora dell'ultima volta che ero collegato.

Precedentemente erravo perché la query veniva effettuata nella home ed ogni aggiornamento della pagina ovviamente aggiornava anche la data risalente al precedente collegamento. La soluzione era più semplice di quello che credevo. Mi ero fuso a gestire variabili semplici e di sessione superglobali, invece la soluzione era ai piedi della candela, come al solito.

Grazie a tutti

Ultima modifica ad opera dell'utente phpmydeath il 16-07-2012 alle 08:02

Segnala ad un moderatore | IP: Collegato | Permalink

phpmydeath è offline Old Post 16-07-2012 07:59
Clicca qui per vedere il profilo dell'utente phpmydeath Clicca qui per inviare all'utente phpmydeath un messaggio privato Visualizza ulteriori messaggi scritti dall'utente phpmydeath Aggiungi l'utente phpmydeath alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Manuelandro
Utente di HTML.it



Registrato il: Jun 2004

Provenienza: Napoli

Messaggi: 2427


ICQ :

MSN :

Skype :


la tua logica è errata, perché se io chiudo il browser anziché effettuare il logout, non ci sarà nessuna query update mentre la sessione resterà lì fino alla scadenza.


__________________
http://codecanyon.net/category/all?ref=Manuelandro
And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
memories to be made

Segnala ad un moderatore | IP: Collegato | Permalink

Manuelandro è offline Old Post 16-07-2012 16:28
Clicca qui per vedere il profilo dell'utente Manuelandro Clicca qui per inviare all'utente Manuelandro un messaggio privato Visita l'homepage dell'utente Manuelandro Visualizza ulteriori messaggi scritti dall'utente Manuelandro Aggiungi l'utente Manuelandro alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
phpmydeath
Utente di HTML.it



Registrato il: Jun 2012

Provenienza: Terra d'Otranto

Messaggi: 75


ICQ :

MSN :

Skype :


Citazione:
Originariamente inviato da Manuelandro
la tua logica è errata, perché se io chiudo il browser anziché effettuare il logout, non ci sarà nessuna query update mentre la sessione resterà lì fino alla scadenza.


hai ragione... e quindi? cosa consiglieresti.

Segnala ad un moderatore | IP: Collegato | Permalink

phpmydeath è offline Old Post 16-07-2012 16:31
Clicca qui per vedere il profilo dell'utente phpmydeath Clicca qui per inviare all'utente phpmydeath un messaggio privato Visualizza ulteriori messaggi scritti dall'utente phpmydeath Aggiungi l'utente phpmydeath alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Manuelandro
Utente di HTML.it



Registrato il: Jun 2004

Provenienza: Napoli

Messaggi: 2427


ICQ :

MSN :

Skype :


Citazione:
Originariamente inviato da phpmydeath
hai ragione... e quindi? cosa consiglieresti.


te l'ho già scritto precedentemente.
Tu hai un campo nel db chiamato ad esempio Ultimo_Accesso.
Al momento del login, prendi il valore di questo campo e lo salvi in sessione (in modo da visualizzarlo e stamparlo dove vuoi finché l'utente naviga nell'area privata), mentre subito dopo lo aggiorni (il campo Ultimo_Accesso) alla data attuale.

Quindi riassumendo:
Se io sono entrato ieri ho aggiornato il l'ultimo accesso a ieri ma vedo, grazie alla sessione, come ultimo login l'altro ieri.
Se entro oggi vedo ultimo login di ieri (ma intanto l'ho aggiornato ad oggi)..
...e via dicendo.


__________________
http://codecanyon.net/category/all?ref=Manuelandro
And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
memories to be made

Segnala ad un moderatore | IP: Collegato | Permalink

Manuelandro è offline Old Post 16-07-2012 16:37
Clicca qui per vedere il profilo dell'utente Manuelandro Clicca qui per inviare all'utente Manuelandro un messaggio privato Visita l'homepage dell'utente Manuelandro Visualizza ulteriori messaggi scritti dall'utente Manuelandro Aggiungi l'utente Manuelandro alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
phpmydeath
Utente di HTML.it



Registrato il: Jun 2012

Provenienza: Terra d'Otranto

Messaggi: 75


ICQ :

MSN :

Skype :


Citazione:
Originariamente inviato da Manuelandro
te l'ho già scritto precedentemente.
Tu hai un campo nel db chiamato ad esempio Ultimo_Accesso.
Al momento del login, prendi il valore di questo campo e lo salvi in sessione (in modo da visualizzarlo e stamparlo dove vuoi finché l'utente naviga nell'area privata), mentre subito dopo lo aggiorni (il campo Ultimo_Accesso) alla data attuale.

Quindi riassumendo:
Se io sono entrato ieri ho aggiornato il l'ultimo accesso a ieri ma vedo, grazie alla sessione, come ultimo login l'altro ieri.
Se entro oggi vedo ultimo login di ieri (ma intanto l'ho aggiornato ad oggi)..
...e via dicendo.


Ho capito il meccanismo...
Nel login non posso fare la query dell'ultimo accesso altrimenti non riuscirei a trasportarla nella pagina della home dove dev'essere indicato.

Avevo pensato al login di creare una variabile di sessione:
codice PHP:

$_SESSION
['started'] = date('Y-m-d H:i:s');

per poi trasportarmela nella home.
Solo che quando eseguo l'echo di questa variabile ottengo:
codice:
Ultimo accesso avvenuto il 01-01-1970 alle ore 01:00:00


Perché questo, nonostante abbia messo timezone Roma.

Uff...

Segnala ad un moderatore | IP: Collegato | Permalink

phpmydeath è offline Old Post 16-07-2012 17:32
Clicca qui per vedere il profilo dell'utente phpmydeath Clicca qui per inviare all'utente phpmydeath un messaggio privato Visualizza ulteriori messaggi scritti dall'utente phpmydeath Aggiungi l'utente phpmydeath alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Manuelandro
Utente di HTML.it



Registrato il: Jun 2004

Provenienza: Napoli

Messaggi: 2427


ICQ :

MSN :

Skype :


Citazione:
Originariamente inviato da phpmydeath
Ho capito il meccanismo...
Nel login non posso fare la query dell'ultimo accesso altrimenti non riuscirei a trasportarla nella pagina della home dove dev'essere indicato.


no, se affermi questo allora non lo hai capito.

ti faccio un esempio al volo

codice PHP:

if($login) { //se ho effettuato il login correttamente

$q mysql_query("SELECT Ultimo_Accesso From utenti WHERE utente = 'utente_che_vuoi'");
$r mysql_fetch_array($q);

//a questo punto hai nella variabile $r['Ultimo_Accesso'] il valore del vecchio login, ti trovi?

$_SESSION['Vecchio_Accesso'] = $r['Ultimo_Accesso']; //ti sei salvato da un'altra parte questo dato

mysql_query("UPDATE utenti SET Ultimo_Accesso = NOW() WHERE bla bla"); 
//hai aggiornato l'ultimo accesso per LA PROSSIMA VOLTA

//ora fino quando l'utente sta dentro gli potrai far vedere il vecchio accesso stampando la variabile di sessione
}


più chiaro di così non so spiegartelo


__________________
http://codecanyon.net/category/all?ref=Manuelandro
And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
memories to be made

Segnala ad un moderatore | IP: Collegato | Permalink

Manuelandro è offline Old Post 16-07-2012 18:27
Clicca qui per vedere il profilo dell'utente Manuelandro Clicca qui per inviare all'utente Manuelandro un messaggio privato Visita l'homepage dell'utente Manuelandro Visualizza ulteriori messaggi scritti dall'utente Manuelandro Aggiungi l'utente Manuelandro alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
phpmydeath
Utente di HTML.it



Registrato il: Jun 2012

Provenienza: Terra d'Otranto

Messaggi: 75


ICQ :

MSN :

Skype :


Ciao Manuelandro ti ringrazio del suggerimento ma ora non vorrei scazzarti e farti arrabbiare... purtroppo il codice che mi hai dettato e tradotto per la mia applicazione non funziona.
Continua a darmi: Ultimo accesso avvenuto il 01-01-1970 alle ore 01:00:00

codice PHP:
<html>
<head>
<title> Home </title>

</head>

<body>
<?php
if (isset($_SESSION['login']) && isset($_SESSION['isLoggedIn']) && isset($_SESSION['started']) == 'true')
{
?>
<a href='index.php?page=logout' title='logout'>Esci</a>
<?php
}
?>
<div id='registrazione'>
    <a href='index.php?page=registrazione'>Registrazione</a>
</div>

<?php 
$query 
'SELECT Login, Password FROM Docente WHERE Login=''.addslashes($_REQUEST['login']).''';
  
$result $__MYSQLI->query($query);
  
$_SESSION['started'] = $r['UltimoAccesso'];
  
//$r['UltimoAccesso']=$_SESSION['started'];
  
$query 'UPDATE Tesi.Docente SET UltimoAccesso= now() WHERE Login=''.addslashes($_SESSION['login']).'''
  
$result $__MYSQLI->query($query);
  print 
"Ultimo accesso avvenuto il ".date('d-m-Y',strtotime($r))." alle ore ".date('H:i:s',strtotime($r));

//print "Ultimo accesso avvenuto il ".date('d-m-Y',strtotime($ultacc))." alle ore ".date('H:i:s',strtotime($ultacc))."<br>";


?>


è quella $_SESSION['started'] che di default è settata all' 01-01-1970 alle ore 01:00:00 appena viene creata e non vi è modo di schiodarla.

Forse dovrei utilizzare la variabile time()?

Mi sembra di non uscire più da questo vicolo cieco.

Grazie.

Segnala ad un moderatore | IP: Collegato | Permalink

phpmydeath è offline Old Post 16-07-2012 20:04
Clicca qui per vedere il profilo dell'utente phpmydeath Clicca qui per inviare all'utente phpmydeath un messaggio privato Visualizza ulteriori messaggi scritti dall'utente phpmydeath Aggiungi l'utente phpmydeath alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Manuelandro
Utente di HTML.it



Registrato il: Jun 2004

Provenienza: Napoli

Messaggi: 2427


ICQ :

MSN :

Skype :


no, sbagli qui
Citazione:
Originariamente inviato da phpmydeath
codice PHP:

$query 
'SELECT Login, Password FROM Docente WHERE Login=''.addslashes($_REQUEST['login']).''';
  
$result $__MYSQLI->query($query);
  
$_SESSION['started'] = $r['UltimoAccesso'];



1)dalla tabella docente non hai preso nessun campo che si chiama UltimoAccesso quindi non hai un valore da salvare nella sessione
2)se anche avessi selezionato quel campo, non te lo stamperebbe comunque perché hai usato la mia stessa sintassi ($r['UltimoAccesso']), che nel tuo caso non ha senso perché non hai nessun array che si chiama $r


__________________
http://codecanyon.net/category/all?ref=Manuelandro
And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
memories to be made

Segnala ad un moderatore | IP: Collegato | Permalink

Manuelandro è offline Old Post 16-07-2012 20:55
Clicca qui per vedere il profilo dell'utente Manuelandro Clicca qui per inviare all'utente Manuelandro un messaggio privato Visita l'homepage dell'utente Manuelandro Visualizza ulteriori messaggi scritti dall'utente Manuelandro Aggiungi l'utente Manuelandro alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
phpmydeath
Utente di HTML.it



Registrato il: Jun 2012

Provenienza: Terra d'Otranto

Messaggi: 75


ICQ :

MSN :

Skype :


Scusami ero in palla, credo come ora.
Tra i deiversi copia ed incolla avrò fatto un casino non ragionandoci più sopra.

codice PHP:

$query 
'SELECT UltimoAccesso FROM Docente WHERE Login=''.addslashes($_SESSION['login']).''';
$result $__MYSQLI->query($query); 
if (
$result->num_rows 0
while( 
$row$result->fetch_assoc() )
{
$_SESSION['started'] = $row['UltimoAccesso']};
 
$query 'UPDATE Tesi.Docente SET UltimoAccesso= now() WHERE Login=''.addslashes($_SESSION['login']).'''
 
$result $__MYSQLI->query($query);
 print 
"Ultimo accesso avvenuto il ".date('d-m-Y',strtotime($row['UltimoAccesso']))." alle ore ".date('H:i:s',strtotime($row['UltimoAccesso']))."<br>";
print 
"Ultimo accesso avvenuto il ".$row['UltimoAccesso']."<br>";


Il primo print esce inesorabilamente:
codice:
Ultimo accesso avvenuto il 01-01-1970 alle ore 01:00:00


il secondo print:
codice:
Ultimo accesso avvenuto il 2012-07-16 22:16:38

Con la variante che quando aggiorno modifica nuovamente l'orario, ma riferisce comunque al vecchio login.

Ora più di prima non riesco a capire dove erro.
scusami

Segnala ad un moderatore | IP: Collegato | Permalink

phpmydeath è offline Old Post 16-07-2012 21:20
Clicca qui per vedere il profilo dell'utente phpmydeath Clicca qui per inviare all'utente phpmydeath un messaggio privato Visualizza ulteriori messaggi scritti dall'utente phpmydeath Aggiungi l'utente phpmydeath alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Manuelandro
Utente di HTML.it



Registrato il: Jun 2004

Provenienza: Napoli

Messaggi: 2427


ICQ :

MSN :

Skype :


Citazione:
Originariamente inviato da phpmydeath

Il primo print esce inesorabilamente:
codice:
Ultimo accesso avvenuto il 01-01-1970 alle ore 01:00:00




probabilmente è riferito alle precedenti valorizzazioni del campo.
Ti manca il controllo sulla "prima volta" e cioè, se l'utente fa il login per la prima volta, ovviamente non ci sarà un login precedente.
Quindi dopo la prima select fai un controllo se Ultimo_Accesso è vuoto, in tal caso dai alla sessione la data odierna.
Svuota il campo e fai una prova.

Citazione:
Originariamente inviato da phpmydeath
il secondo print:
codice:
Ultimo accesso avvenuto il 2012-07-16 22:16:38

Con la variante che quando aggiorno modifica nuovamente l'orario, ma riferisce comunque al vecchio login.

Ora più di prima non riesco a capire dove erro.
scusami


probabilmente perché non hai un controllo che limiti tutto questo al solo momento in cui si effettua il login


__________________
http://codecanyon.net/category/all?ref=Manuelandro
And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
memories to be made

Segnala ad un moderatore | IP: Collegato | Permalink

Manuelandro è offline Old Post 16-07-2012 22:18
Clicca qui per vedere il profilo dell'utente Manuelandro Clicca qui per inviare all'utente Manuelandro un messaggio privato Visita l'homepage dell'utente Manuelandro Visualizza ulteriori messaggi scritti dall'utente Manuelandro Aggiungi l'utente Manuelandro alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
phpmydeath
Utente di HTML.it



Registrato il: Jun 2012

Provenienza: Terra d'Otranto

Messaggi: 75


ICQ :

MSN :

Skype :


Purtroppo non è così

Questi sono i valori dei campi di phpmyadmin, in ordina matricola, login, password ed ultimo accesso:
codice:
 
1
alcinoo
abdc2de2ed415f2e6e1a9d42527b6fec
2012-07-16 22:39:46

23232323
simo
43bd48ade3219a1931115a1dabbe1a7f
2012-07-15 13:17:45

76
Ulisse
76638e1518227cc9807e81b3d1920e7e
2012-07-16 06:56:35


ed ultimamente facevo sempre gli ingressi con alcinoo.

Ora ti racconto cosa mi succede: per ordine ho tre file login.php, logout.php e home.php.
Quando inserisco
codice:
    $_SESSION['started'] = date('Y-m-d H:i:s');
    $date=$_SESSION['started'];

nel file login.php e poi nel file home.php (dove avvengono tutte le query) lo riporto come

con un print:
codice PHP:

print "Ultimo accesso avvenuto il ".$_SESSION['started']."<br>";

mi riporta esattamente la data di login:
codice:
Ultimo accesso avvenuto il 2012-07-17 00:04:57


Quando invece tento di trasferire il suo valore in $row, così
codice PHP:

$_SESSION
['started'] = $row['UltimoAccesso'];

esso non lo permette la prima variabile resta aggiornata come da sessione ed ultimo accesso resta vuoto con la data del 1970. In ogni modo il campo sul database non riporta mai questa data ma è sempre aggiornato dall'update now().

edit: i valori dei campi ultimo accesso per ora non saranno mai vuoti, perché inizialmente sarà io direttamente da phpmyadmin ad inserire il valore di matricola chiave primaria, nome, cognome, login e password con questo intervento il campo dell'ultimo accesso si aggiorna automaticamente perché in default timestamp

Ultima modifica ad opera dell'utente phpmydeath il 16-07-2012 alle 23:22

Segnala ad un moderatore | IP: Collegato | Permalink

phpmydeath è offline Old Post 16-07-2012 23:14
Clicca qui per vedere il profilo dell'utente phpmydeath Clicca qui per inviare all'utente phpmydeath un messaggio privato Visualizza ulteriori messaggi scritti dall'utente phpmydeath Aggiungi l'utente phpmydeath alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
phpmydeath
Utente di HTML.it



Registrato il: Jun 2012

Provenienza: Terra d'Otranto

Messaggi: 75


ICQ :

MSN :

Skype :


Buongiorno,
se usassi un meccanismo del genere per far spirare la sessione quando inutilizzata o chiusa inaspettamente per mezzo del browser:
codice PHP:

if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) {
    
// last request was more than 30 minates ago
    
session_destroy();   // destroy session data in storage
    
session_unset();     // unset $_SESSION variable for the runtime
}
$_SESSION['LAST_ACTIVITY'] = time(); // update last activity time stamp


Credi che potrebbe funzionare?

Segnala ad un moderatore | IP: Collegato | Permalink

phpmydeath è offline Old Post 17-07-2012 08:20
Clicca qui per vedere il profilo dell'utente phpmydeath Clicca qui per inviare all'utente phpmydeath un messaggio privato Visualizza ulteriori messaggi scritti dall'utente phpmydeath Aggiungi l'utente phpmydeath alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Tutte le ore sono con fuso orario CET. Ora sono le 01:14.     

  Pagine (2): [ 1   2   > ]  Ultima discussione   Prossima discussione Invia una risposta
Versione per la stampa | Invia il thread via email | Ricevi aggiornamenti sul thread | Scarica il thread
 

Cerchi un argomento specifico e hai fretta? Usa il motore di ricerca