Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    250

    Verificare l'esistenza di una variabile inizializzata in sessionsenza crearla o reset

    Salve a tutti e gazie anticipatamente,


    Sto creando un sito per imparare impiegando ASP e Javascript.

    Ho un prblemino :

    Il sito é costituito da una pagina iniziale da cui si accede alla pagina di registrazione dalla quale é possibile poi accedere a vari dati, l'utente se non registrato può farlo liberamente se lo é gia deve solo digitare ID e PW . fin qui tutto normale.
    Il problema sta nel fatto che sto impiegando una variabile di "session" in ogni pagina per "appuntare" e capire se l'utente ha fatto il login passando i controlli (quindi anche registrzione) o meno .
    (L'utente per passare ad un altro account deve effettuare un logoff.)
    Tale variabile però é inizializzata nella pagina iniziale e se per caso l'utente già registrato ci ritorna la variabile viene "resettata" cosa che non dovrebbe avvenire.
    Avevo pensato dicrealre un controllo di "esistenza" della variabile in base al quale scegliere se crearla o meno, ma ...non saprei come fare .... qualcuno saprebbe illuminarmi la via ?
    Grazie infinite.
    Evander

  2. #2
    ehm, io non ho capito mica come funziona il tuo modulodi login..cmq, facciamo finta che tu fai fare il login, e hai un codice del tipo:

    codice:
    if USERNAME e PASSWORD CORRETTI then
    
    session("loggato")="qualcosa"
    
    response.redirect "paginaprivata.asp"
    
    end if
    non capisco perchè poi si dovrebbe resettare la sessione....

    cmq non testare l'esistenza della session (non mi pare che esistano comandi specifici al riguardo), ti basta testare che la session contenga un valore:

    codice:
    if session("loggato")<>"" then
    'la session esiste
    end if

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    250

    Grazie

    Ciao , perdona se con un po di ritardo, volevo ringraziarti .

    Penso di avercolto il consiglio, ma non riesco a far funzionare il seguente script

    <%if (Session("loggato")<>"Log"){Response.write(utente sconosciuto);}else{Response.write(Session("Nome"); }%>

    In pratica:se l'utente è già registrato dovrebbe comparire il nome presente in un'altra variabile, altrimenti dovrebbe comparire la scritta "utente sconosciuto", mi appare però il segiente errore:


    Errore di compilazione di Microsoft VBScript error '800a0408'

    Carattere non valido

    if (Session("loggato")<>"Log"){Response.write(Anonimo );}else{Response.write(Session
    ------------------------------^

    ("Nome");}


    Grazie ancora:
    PS: sto usando Javascript.
    Evander

  4. #4
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    bli=Session("loggato")
    cpc=Session("nome")

    if bli<>"log" then
    response.write ("utente sconosciuto")
    else
    response.write (cpc)
    end if


  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    250

    errore...

    Io non capisco... ho seguito il tuo consiglio che é indubbiamente corretto e per cui ti ringrazio, ma ....




    Errore di compilazione di Microsoft VBScript error '800a0408'

    Carattere non valido

    /sito/home.asp, line 50



    if (leg <>"Log") { Response.write("Anonimo")}else{Response.write(Sess ion(Name)};
    -----------------^


    Il codice é :

    <% leg=Session("loggato")
    name=Session("nome")

    if (leg <>"Log") { Response.write("Anonimo")}else{Response.write(Sess ion(Name)};%>
    Evander

  6. #6
    io rileggerei il CODICE del consiglio e non spingere "nuovo" ma "rispondi" la prossima volta

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    250
    ho corretto anchel'errorino relativo alla prima lettera di name scritta maiuscola ma il risultato non cambia , ho usato costrutti simili anche in passato ma non capisco dove sia il problema...
    Evander

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    250
    Vi ringraio per i consigli dati e mi scuso per aver cliccato su "nuovo" anziche su "rispondi"; ho letto il codice, sto usando JS con ASP, ma non capisco perche non continui a fungere ,
    Codice:



    <% leg=Session("loggato")
    name=Session("nome")
    var anoni = "Anonimo"

    if (leg <>"log") { response.write(anoni)}else{Response.write(Session( name)};%>



    Errore :

    Errore di compilazione di Microsoft VBScript error '800a0408'

    Carattere non valido

    /sito/home.asp, line 51

    if (leg <>"log") { response.write(anoni)}else{Response.write(name)};
    ------------------^

    (la freccia indica in realtà la parentesi graffa)
    Cosa significa ?Grazie ancora
    Evander

  9. #9
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Non usare parentesi tonde e parentesi graffe.........

    if bli<>"log" then
    response.write ("utente sconosciuto")
    else
    response.write (cpc)
    end if


    prova così....

  10. #10
    da errore perchè se tu dichiari che usi VBSCRIPT

    codice:
    Microsoft VBScript error '800a0408'
    e poi usi le parentesi di JS, quello da errore giustamente...la pagina è vista in VBSCRIPT quindi devi usare vbscript

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.