Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    strano comportamento delle var di sessione..

    ciao, non riesco a capire perchè non vengono lette alcune variabili di sessione..
    allora.. nella home page ho questo codice:
    codice:
    <%if IsEmpty(session("loged")) then%>
    <form action="manage.asp" method="post" name="formlogin" id="formlogin">
      Username:
      <input name="frmuser" type="text" id="frmuser">
      Password:
      <input name="frmpw" type="password" id="frmpw">
      <input type="submit" name="Submit" value="Invia">
    </form>
    <%
    response.Write("Benvenuto!")
    response.Write("login non ancora effettuato")
    response.Write session("loged")
    else if session("loged")="0" then
    response.Write("login provato ma errato")
    response.Write session("loged")
    else if session("loged")="1" then
    response.Write session("welcome")
    response.Write("login riuscito")
    response.Write session("loged")
    else if session("loged")="2" then
    response.Write session("welcome")
    end if 
    end if
    end if
    end if%>
    praticamente se la variabile di sessione non esiste.. allora visualizzo il form con i campo. dò il benvenuto e stampo la variabile si sessione "loged" che non esistendo non non vedo nulla.. ok e fino a qui ci siamo.. se invece session("loged") è uguale a zero significa che l'utente ha provato a fare il login ma non è riuscito quindi lo avviso e stampo la variabile di sessione session("loged") che deve essere uguale a 0, se è uguale a 1 il login è riuscito e oltre a scrivere il contenuto della variabile loged scrivo anche il contenuto della variabile welcome.. se è uguale a 2 scrivo solo il contenuto della variabile welcome che qusta volta conterrà oltre al nome utente anche un avvisto che dice che l'utente è già loggato..
    praticamente il problema stà nel fatto che viene considerato solo il primo if, come se il contenuto della variabile loged non venisse considerato..
    ecco come controllo i dati e come scrivo i contenuti nell var di sessioni.. che mi sembra corretto...:
    codice:
    <%
    If IsEmpty(Session("auth")) then
    Function FixINJ(stringa)
      stringa = Replace(stringa, "'", "''")
      stringa = Replace(stringa, "%", "[%]")
      stringa = Replace(stringa, "[", "[[]")
      stringa = Replace(stringa, "]", "[]]")
      stringa = Replace(stringa, "_", "[_]")
      stringa = Replace(stringa, "#", "[#]")
      FixINJ = stringa
    End function
    
    usname=FixINJ(request.form("frmuser"))
    pwcode=FixINJ(request.Form("frmpw"))
    set rsuser=server.CreateObject("adodb.recordset")
    sql="SELECT * from anagrafica_clienti WHERE us='"&usname&"' AND pw='"&pwcode&"'"
    'response.Write sql
    rsuser.open sql, conn, 1,3
    	if not rsuser.eof then
    		Session("auth")="Authorized"
    		Session("welcome")=rsuser("nome")&" Benvenuto!"
    		Session.Timeout=45
    		Response.Redirect("default.asp?sid="&Session.SessionID)
    		Session("loged")="1"
    	else
    		response.Redirect("default.asp")
    		Session("loged")="0"
    		
    	end if
    else
    Response.Redirect("default.asp?sid="&Session.SessionID)
    Session("loged")="2"
    Session("welcome")=rsuser("nome")&" Hai già effettuato il login!"
    end if
    %>
    Voglio l'alt+s anche per FF

  2. #2
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    vabbè dai non ci stò con la testa.. faccio prima il redirect e poi instanzio la var di sessione
    però cacchio mi sembra strano che cmq non venga letta.. noon viene prima letto tutto il codice?
    Voglio l'alt+s anche per FF

  3. #3

  4. #4
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da weppos
    LEtto non vuol dire interpretato.
    si infatti
    Voglio l'alt+s anche per FF

  5. #5
    ragiona al contrario...

    codice:
    If Session("Logged")="0" Then
    ' appena loggato
    ElseIf Session("Logged")="1" Then
    ' gia' loggato
    Else
    ' non loggato
    End If

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.