Salve ragazzi, è possibile chiudere una sessione quando chiudo la pagina del browser con la X?????quale istruzione devo utilizzare?????Grazie
Salve ragazzi, è possibile chiudere una sessione quando chiudo la pagina del browser con la X?????quale istruzione devo utilizzare?????Grazie
La chiusura del browser è un evento lato client quindi tramite js all'evento OnUnLoad devi far partire una funzione che richiama una pagina asp che fa quello che dici.
Ma devi fare attenzione: l'onunload parte anche quando cambi pagina...
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
in pratica (facendo un po' di attenzione) quando la pagina si chiude in client viene generato, appunto, l'OnUnload
tramite quello fai un
codice:window.location.href = 'paginaend.asp'
e alla paginaend.asp ci metti
codice:<% session.end(); %> <script> self.close(); </script>
permettetimi una domanda (niubba) non viene automaticamente "distrutta" la variabile di sessione alla chiusura della pagina del browser?
dies![]()
No. Non viene distrutta automaticamente. Pansaci un po' su e capirai anche il perchè (come fa il server a capire che hai chiuso il browser?). Infatte imente ti suggerisce di lanciare un'altra pagina per dire al server "sto chiudendo il mio browser".
Ci sono 2 problemi però.
1.E se ho un'altro browser aper con la stessa sessione?
2.Session.End non me la ricordo come istruzione. Credo che quella corretta sia Session.Abandon. Prova
Ciao
Permettimi di quotare questa parte del tuo intervento...Originariamente inviato da Baol74
No. Non viene distrutta automaticamente. Pansaci un po' su e capirai anche il perchè (come fa il server a capire che hai chiuso il browser?). Infatte imente ti suggerisce di lanciare un'altra pagina per dire al server "sto chiudendo il mio browser".
Non ricordo se viene - effettivamente - distrutta (sul server cartella /tmp), ma cmq si perde il riferimento a quella "particoalre ed unica" sessione aperta sul server proprio dalla visita del tuo "browser"; perché se apri una "nuova" sessione di navigazione con il browser (non parlo di CTRL+N), ma proprio un nuovo processo, non esiste più il RIFERIMENTO precedente.
Il problema "di cancellare la sessione " è rivolto unicamente da come è "protetta" quella cartella /tmp sul SERVER... chiaro è che, se ti bucano il server e mettono un occhio proprio in quella cartella si è belli e fritti. Specialmente in hosting condiviso dove tutte le sessioni sono salvate in un unica "cartella /tmp)
ciao,
dies![]()
si, chiedo scusa...
era SESSION.ABANDON
![]()
cmq il fulcro è che la sessione se non viene chiusa con quella istruzione, viene chiusa al suo scadere (impostato nel GLOBAL.ASA)
quindi se si riapre il browser con una sessione ancora attiva è come se il browser non fosse mai stato chiuso
Le sessioni in asp non sono statiche. Asp usa segmenti di memoria ram per creare le sessioni, a differenza di php. Nessuna cartella tmp quindi (probabilmente arrivi dal php)
Hai fraiteso quello che ho detto. E' chiaro che se chiudi il browser viene perso il sessionID (il cookie sul client), ma la sessione sul server rimane attiva occupando risorse ram. La sessione scadrà al timeout stabilito. questo non è asp ma semplicemente specifiche del protocollo tcp/ip