I terribili misteri delle variabili di sessione

di il
11 risposte

I terribili misteri delle variabili di sessione

Ciao a tutti,

ho un "problemino" con le variabili di sessione...
ad un certo punto, se riempio uno dei campi della form che mi inserisce dei dati nel DB TUTTE le variabili di sessione spariscono.

Sto usando ASP e VBScript, e il carrello per DreamWeaver MX "Charon Cart".

Mi potete aiutare?

11 Risposte

  • Re: I terribili misteri delle variabili di sessione

    Ho notato or ora che mi "killa" la sezione, infatti se mi faccio stampare il SessionID, dopo il fattacio ho un SessionID diverso.

    Non so proprio dove andare a battere la testa...
  • Re: I terribili misteri delle variabili di sessione

    Cioa mi sembra strano che ti perde la sessione.

    Non ci sarà mica un session.Abandon() da qualche parte?

    Fammi sapere
  • Re: I terribili misteri delle variabili di sessione

    No, non c'è nessun session.Abandon()...

    ho controllato ovunque, e vi do già le risposte alle vostre prossime domande.

    1) il sito non usa i frame
    2) tutte le pagine sono all'interno della solita virtual directory
    3) nell'IIS è tutto a posto.

    So che può sembrare strano, ma perde la sessione solo quando riempio il campo "Auguri" della mia form, ora, a meno che "Auguri" non sia una parola riservata (ormai non viene in mente altro ) non so proprio cosa fare.
  • Re: I terribili misteri delle variabili di sessione

    Potrebbe essere che da qualche parte è impostaro Session.Timeout a un valore molto basso, ad esempio 1 minuto, e ti si termina la sessione prima che si è caricato tutto? Questo potrebbe anche succedere se IIS ha un timeout troppo basso in genere. Forse sarebbe anche il caso che ci incolli il codice in questione.

    Comunque 'auguri' non è una parola riservata

    Se hai On Error Resume Next attivo, prova a toglierlo. Poi potresti anche fare un log delle cose che succedono, riga per riga, salvando tutti nell'oggetto Application, e fartelo visualizzare in una pagina creata per questo scopo (richiede però che siano aperte almeno due sessioni).

    Poi non so forse è il caldo?

    Giovanni
    ---
    Ducunt fata volentem, nolentem trahunt
  • Re: I terribili misteri delle variabili di sessione

    Il session.timeout è impostato a 600, è la prima cosa che ho fatto dopo aver trovato il problema. On Error Resume Next non è attivo.

    Per quanto riguarda il log, come lo faccio?

    Per quanto riguarda il caldo, intendi che ha danneggiato il computer o il mio cervello ?

    Grazie y2ksw e seriamo di riuscire a risolverlo...
  • Re: I terribili misteri delle variabili di sessione

    Allora, questo è il codice per la pagina log.asp, che si deve trovare nella stessa cartella del progetto web, e la devi chiamare prima di eseguire (in una finestra separata) il programma che da il problema, in modo che l'applicazione è già avviata:

    <%@ LANGUAGE=VBSCRIPT %>
    <HTML>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
    <TITLE>Application Error Log</TITLE>
    </HEAD>
    <BODY>
    <%

    'Elenca i valori di tutti i parametri, anche di sistema, eccetto oggetti
    Application("TEST") = 123456
    For Each Content In Application.Contents
    If Not IsObject(Content) Then
    Response.Write "<P><B>" & Content & ": </B>" & Application(Content) & "</P>" & vbNewLine
    End If
    Next

    %>
    </BODY>
    </HTML>

    Nel programma che da il problema, inserisci in tutti i punti cruciali una riga come:

    Application("ERRLOG_0001") = "MioValore"
    Application("ERRLOG_0002") = Session("MIAVARIABILE")

    Ogni volta che aggiorni la pagina log.asp (tasto F5, non ricaricare una nuova pagina), ti visualizza tutti i variabili presenti nell'oggetto Application, anche se la sessione dell'altro programma è già chiusa.

    Il problema caso mai è cancellare tutti i valori nell'oggetto Application prima di ripartire, perché sono transistenti anche per parecchio tempo dopo la chiusura di tutte le finestre (tramite un altro script simile alla visualizzazione), ma questo compito lascio a te

    Giovanni
    ---
    Ducunt fata volentem, nolentem trahunt
  • Re: I terribili misteri delle variabili di sessione

    Grazie 1K y2ksw!!!!!
  • Re: I terribili misteri delle variabili di sessione

    Di niente

    Giovanni
    ---
    Ducunt fata volentem, nolentem trahunt
  • Re: I terribili misteri delle variabili di sessione

    Dovresti provare le variabili di sessione di PHP.
    Si possono utilizzare in svariati modi, in base alle impostazioni del PHP.INI

    fabio
  • Re: I terribili misteri delle variabili di sessione

    Fabio: off topic

    Chi non conosce PHP, farà miracoli con Global.asa in ASP

    Giovanni
    ---
    Ducunt fata volentem, nolentem trahunt
  • Re: I terribili misteri delle variabili di sessione

    Mi associo a tutti voi:
    in PHP le variabili di sessione sono gestite malissimo, soprattuto per quanto riguarda gli enventi Session_onend,Session_onstart. Non esiste nulla di simile al global.asa, purtroppo.
    Ma è anche vero che la valorizzazione di una variabile di sessione è semplice come non mai:
    $_SESSION['pippo'] = 100;
    Senza dover dichiarare la varibile nel global.asa

    fabio
Devi accedere o registrarti per scrivere nel forum
11 risposte