51 messaggi dal 10 ottobre 2003
ciao a tutti!

ho un problema che prima d'ora non mi si è mai presentato,

ho un sito con un area riservata, al login attribuisco una session all'utente e controllo poi questa session in ogni pagina per capire se l'utente si è loggato o meno. fin qui tutto bene,

il problema sta in una pagina in cui dopo che l'utente ha compilato e inviato una form la mia applicazione riceve i dati ed effetua una query su un DB. la query è giusta e mi visualizza i risultati, ma se l'utente aggiorna la pagina compare un pop-up di windows che dice: "le informazioni devono essere reinviate per aggiornare le pagine, e sotto i tasti OK e Annulla"

se si preme su OK la pagina viene ricaricata ma la sessione non esiste più e di conseguenza l'utente viene buttato fuori.

cosa può essere? è possibile ovviare il problema?

P.S. nella pagina i risultati vengono paginati ma non credo sia quello il problema.

GRAZIE 1000
40 messaggi dal 01 dicembre 2002
Sembra che quell' aggiorna pagina non fa altro che sovrascrivere la SessionID creandone una nuova. Hai provato a confermarlo?

Se è così quello che puoi fare e inviare con il form (solo per quella pagina però) il vecchio Session.Id come dato da scrivere.... certo... non è che un paliativo, ma funzionerebbe.

E Martire
___________________________________
Linux & Windows Multidominio
http://www.italydom.com

Se non puoi risoverlo...raggiralo.
51 messaggi dal 10 ottobre 2003
in che senso "hai provato a confermarlo?"

di passargli l'id ci avevo pensato anche io, stavo appunto provando, anche se è una cosa che vorrei evitare.
40 messaggi dal 01 dicembre 2002
metti per esempio le session.ID attive in un DB con ora di inizio e fine sessione (un log) e poi controlla quello che succede nel DB appena butta fuori l'utente...questo ti può dare delle piste su cosa succede.
Mi sembra probabile comunque che il problema sia quello.

Puoi anche mettere un cookie e - solo per questa pagina che presenta questo problema - "riattivare" vecchi sesison.ID con i dati del cookie.

Certo, se hai tempo e voglia, sarebbe interessante scoprire il perchè di questa cosa.... personalmente io a causa del molto lavoro e poco tempo a disposizione uso moltissimo stratagemmi come questi.

Saluti

E Martire
___________________________________
Linux & Windows Multidominio
http://www.italydom.com

Se non puoi risoverlo...raggiralo.
51 messaggi dal 10 ottobre 2003
domanda:

come fai a vedere l'ora di fine della sessione? tramite global.asa?
40 messaggi dal 01 dicembre 2002
Prova questo in Session_OnEnd

Sub Session_OnEnd
  Dim objFSO, objFile
  Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
  Set objFile = objFSO.OpenTextFile(strLogFilePath, 8, True)
  Set objFSO = Nothing
  objFile.WriteLine "Session: " & Session.SessionID _
      & " iniziata il" & Session("Start")
  objFile.WriteLine "Session: " & Session.SessionID _
      & " finita il" & Now ()
  objFile.Close
  Set objFile = Nothing
End Sub



ARTICOLO: http://www.asp101.com/articles/john/sessionsend/default.asp
Modificato da ernestomartire il 01 luglio 2004 11.16 -

E Martire
___________________________________
Linux & Windows Multidominio
http://www.italydom.com

Se non puoi risoverlo...raggiralo.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.