/ / Distruggi la sessione in cakephp quando esci dalla pagina? - php, session, cakephp, cakephp-2.3

Distruggi la sessione in cakephp quando esci dalla pagina? - php, session, cakephp, cakephp-2.3

Come e dove posso usare

$this->Session->destroy()

Perché la sessione venga distrutta ogni volta che la pagina viene chiusa?

E come posso mantenere aperta la sessione fino alla chiusura della pagina, indipendentemente dal tempo?

Ho bisogno di questo perché quando l'utente entra nella pagina, alcune variabili specifiche non sono impostate nella sessione e quando esce, ho bisogno che questa sessione venga distrutta. Non sono in grado di farlo usando cakephp.

risposte:

1 per risposta № 1

Le sessioni vengono archiviate sul server, quindi se il browser è chiuso o l'utente accede a una pagina diversa, non vi è alcun obbligo che informi il server di questa azione.

Le sessioni vengono archiviate per un certo periodo nel server e, dopo un certo periodo di inattività o se si esegue correttamente il logout, verranno automaticamente eliminate.

Controlla le informazioni sulle sessioni in Ricettario CakePHP per maggiori informazioni riguardo alle Sessioni


0 per risposta № 2

Puoi provare a usare $(window).unload(function(){alert("Closing browser")}); E fai una chiamata ajax al server per distruggere la sessione, ma questo potrebbe non funzionare su alcuni browser e già funzione deprecata in jQuery 1.8 per maggiori informazioni http://api.jquery.com/unload/


0 per risposta № 3

se hai utilizzato i componenti Auth cakephp 3.0, non è necessario eseguire alcuna operazione di gestione della sessione e dei cookie da parte dei componenti principali della sessione.

$ This-> session-> destroy ()

distruggerà tutti i cookie e i dati di sessione ma se vuoi distruggere una sessione particolare, puoi farlo con questo codice

$ This-> session-> distruggere ( "$ val");

qui, $ val rappresenta una sessione particolare da distruggere