ciao, non riesco a capire perchè non vengono lette alcune variabili di sessione..
allora.. nella home page ho questo codice:
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..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 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 %>



Rispondi quotando