Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Quando il Login è OK

  1. #1
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135

    Quando il Login è OK

    Ciao.

    Se in una pagina asp di autenticazione utente prevedo questa sessione:

    codice:
      Session("LoginOK") = objRS("UserName")
    Come faccio a recuperarla in una seconda pagina asp?
    Ho provato così, ma non stampa nulla...

    codice:
    Response.buffer = True
    
    Session("bLoginOK") = True
    
    Dim test
    test = Session("LoginOK")
    response.write test
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  2. #2
    Utente di HTML.it L'avatar di fede_00
    Registrato dal
    May 2004
    Messaggi
    279
    dal momento che metti valore in una variabile di sessione esso è disponibile per tutte le pagine, ti basta fare la response.write della session anche senza assegnarla a variabile, se tutto è andato bene

    in questo caso ho idea che se non riesci a stampare il valore per qualche motivo, che può essere un errato login, la session non viene mai assegnata

  3. #3
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    grazie per la risposta.

    nella pagina di login la sessione si genera perchè così:

    codice:
      Session("bLoginOK") = objRS("UserName")
      response.write Session("bLoginOK")
    si stampa il corretto username dell'utente che fa il login.

    mentre qui stampa sempre True, invece dovrebbe stampare il nome utente e naturalmente True:
    codice:
    Response.buffer = True
    
    response.write Session("bLoginOK") &"
    "
    Session("bLoginOK") = True
    		
    		response.write Session("bLoginOK")
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  4. #4
    Utente di HTML.it L'avatar di fede_00
    Registrato dal
    May 2004
    Messaggi
    279
    Session("bLoginOK") = True
    se fai così assegni nuovo valore alla variabile di sessione e ti viene correttamente stampato TRUE

    al limite se proprio vuoi inserire altro valore devi conservare il precedente
    Session("bLoginOK") = Session("bLoginOK") & True

  5. #5
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Così stampa solo e soltanto False.
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  6. #6
    Utente di HTML.it L'avatar di fede_00
    Registrato dal
    May 2004
    Messaggi
    279
    scusa ma non capisco, non può stampare False, al limite per il codice che hai postato prima, deve stampare True dato che gli assegni nuovo valore
    c'è qualche altra parte di codice che per qualche motivo ti cambia il valore della variabile di sessione
    da quello che hai postato non si vede

  7. #7
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Codice completo login.asp:

    codice:
    strUser=request.form("user")
    strCode=request.form("codice")
    
    strSql = "SELECT * FROM codici WHERE userName='"&strUser&"' AND userCode='"&strCode&"'"
    objRS.Open strSQL
    
    IF not objRS.EOF THEN 
    
    Session("bLoginOK") = objRS("UserName")
    
    End IF
    secondapagina.asp:

    codice:
    Response.buffer = True
    
    Session("bLoginOK") = Session("bLoginOK") & True
    
    response.write Session("bLoginOK")
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  8. #8
    Utente di HTML.it L'avatar di fede_00
    Registrato dal
    May 2004
    Messaggi
    279
    strSql = "SELECT * FROM codici WHERE userName='"&strUser&"' AND userCode='"&strCode&"'"
    per i campi stringa si usa LIKE

    "SELECT * FROM codici WHERE userName LIKE '"&strUser&"' AND userCode='"&strCode&"'"

    vedendo quello che hai postato:
    apre il db, fa una query errata e session("bLoginOk") non viene valorizzata
    nella pagina successiva stampi il suo valore e ti ritrovi, correttamente, False

    fammi sapere
    ciao

  9. #9
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Grazie adesso la session si valorizza, ma non riesco a far funzionare questo script che dovrebbe visualizzaregli utenti attivi in un'area riservata... praticamente vedo soltanto il mio login, anche se mi loggo da un altro pc con altri dati...

    il link è questo , mentre il codice è il seguente:

    codice:
    <% 
    
    Response.buffer = True
    
    		Session("bLoginOK") = true
    				
    		dim ut
    		ut = Session("LoginOK")
    
    		bShowPopUp = True
    	
    		sWhoIsOnlinePage = "whoisonlinetest.asp"
    
    		sActiveUsersPath = "/activeusers/"
    
    		intActiveUserTimeout = 15
    
    		intActiveUserCleanupTime = 1
    
    	Session.LCID = 1040
    
    	Dim bShowPopUp
    	Dim sWhoIsOnlinePage
    	Dim sActiveUsersPath
    	Dim intActiveUserCleanupTime
    	Dim intActiveUserTimeout
    
    	Call LogActiveUser()
    	Call ActiveUserCleanup()
    
    Function sNewUserIP(IP)
    '	On error resume next
    	Dim Tmp, i, sNewIP
    	Tmp = split(IP,".", -1, 1)
    		i = 0
    		do until i = Ubound(tmp) +1
    			If i = 2 Then
      				sNewIP = sNewIP & String(len(tmp(2)), "x") & "." ' "xxx."
    			Else
      				sNewIP = sNewIP & tmp(i) & "."
    			End if
    			i = i + 1
    		loop
    	erase Tmp
    	If len(sNewIP) > 0 then
    		sNewIP = left(sNewIP, Len(sNewIP)-1)
    	else
    		sNewIP = "(unknown)"
    	end if
    sNewUserIP = sNewIP
    End Function
    
    '============= Log Active Users =======================================
    Sub LogActiveUser
    	Dim strActiveUserList
    	Dim intUserStart, intUserEnd
    	Dim strUser
    	Dim strDate
    	Dim inStart
         strActiveUserList = Application("ActiveUserListLog")
    	inStart = Instr(1, strActiveUserList, Session.SessionID)
    	If inStart > 0 Then
    		Application.Lock
    			intUserStart = Instr(inStart, strActiveUserList, "_Page")+5
    			intUserEnd = Instr(intUserStart, strActiveUserList, "|")
    			strUser = Mid(strActiveUserList, intUserStart, intUserEnd - intUserStart)
    			strActiveUserList = Replace(strActiveUserList, strUser, request.servervariables("path_info") & "?" & request.querystring & ":" & Now())
    			Application("ActiveUserListLog") = strActiveUserList
    		Application.UnLock
       Else
    		Application.Lock
    			Application("ActiveUsersLog") = CInt(Application("ActiveUsersLog")) + 1
    			Application("ActiveUserListLog") = Application("ActiveUserListLog") & Session.SessionID &_
    			 "_IP" & Request.ServerVariables("REMOTE_ADDR") &_
    			 "_From" & UCase(Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")) &_
    			 "_Logon" & Now() &_
    			 "_Page" & request.servervariables("path_info") & "?" & request.querystring &_	
    			 ":" & Now() & "|"
    		Application.UnLock
    	End If
    End Sub
    
    '============= Clean Up Active Users=======================================
    Sub ActiveUserCleanup
    	Dim ix
    	Dim intUsers
    	Dim strActiveUserList
    	Dim aActiveUsers
    	If Application("ActiveUserListLog") = "" Then Exit Sub
    	If DateDiff("n", Application("ActiveUsersLastCleanup"), Now()) > intActiveUserCleanupTime Then
    		Application.Lock
    			Application("ActiveUsersLastCleanup") = Now()
    		Application.Unlock
    		intUsers = 0
    		strActiveUserList = Application("ActiveUserListLog")
    		strActiveUserList = Left(strActiveUserList, Len(strActiveUserList) - 1)
    		aActiveUsers = Split(strActiveUserList, "|")
    		For ix = 0 To UBound(aActiveUsers)
    	On error resume next
    			If DateDiff("n", Mid(aActiveUsers(ix), Instr(1, aActiveUsers(ix), ":") + 1, Len(aActiveUsers(ix))), Now()) > intActiveUserTimeout Then
    				aActiveUsers(ix) = "XXXX"
    			Else
    				intUsers = intUsers + 1
    			End If 
    	On error goto 0
    		Next
    		strActiveUserList = Join(aActiveUsers, "|") & "|"
    		strActiveUserList = Replace(strActiveUserList, "XXXX|", "")
    		Application.Lock
    			Application("ActiveUserListLog") = strActiveUserList
    			Application("ActiveUsersLog") = intUsers
    		Application.UnLock
    	End If
    End Sub
    
    '============= Display Who is Online List =====================================
    Sub ShowActiveUsersList ()
    	Dim ix
    	Dim intUsers
    	Dim strActiveUserList
    	Dim aActiveUsers
    	Dim count, conn, rs, bgclr
    	Dim sUserIP, sFrom, sPage, sUserID, sLastIn, sAtime, sLogon
        response.write "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0><tr><td>"        
    		response.write "<b style=""font-size:10px;font-family:verdana;color:#999999;"">http://" & request.servervariables("HTTP_HOST") & " - Utenti attivi in questo momento (" & Now() & ")[/b]"
    	response.write "</td></tr></table>"
        response.write "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 style=""border: 1px Solid #6699CC;""><tr><td>"        
    		response.write "<TABLE BORDER=0 CELLPADDING=2 CELLSPACING=2 style=""font-size=11px;font-family:tahoma;"" width=""100%"" BGCOLOR=WHITE>"        
    		Response.Write "<tr bgcolor=#dcdcdc>"
    		Response.Write "<td align=center>Matricola</td>"
    		Response.Write "<td align=center>Indirizzo IP</td>"
    		Response.Write "<td align=center>Da</td>"
    		Response.Write "<td align=center>Login</td>"
    		Response.Write "<td align=center>Update</td>"
    		Response.Write "<td align=center>Tempo</td>"
    		Response.Write "<td align=center>[b]Pagina attiva[b]</td>"
    		Response.Write "</tr>"
    	On error resume next
    		count=0
    		strActiveUserList = Application("ActiveUserListLog")
    		strActiveUserList = Left(strActiveUserList, Len(strActiveUserList) - 1)
    		aActiveUsers = Split(strActiveUserList, "|")
    		For ix = 0 To UBound(aActiveUsers)
    			sUserID = Mid(aActiveUsers(ix), 6, Instr(1, aActiveUsers(ix), "_IP")-6)
    			sUserIP = Mid(aActiveUsers(ix), Instr(1, aActiveUsers(ix), "_IP")+3, Instr(1, aActiveUsers(ix), "_From")-5-Instr(1, aActiveUsers(ix), "_IP")+2)
    			sFrom = Mid(aActiveUsers(ix), Instr(1, aActiveUsers(ix), "_From")+5, Instr(1, aActiveUsers(ix), "_Logon")-5-Instr(1, aActiveUsers(ix), "_From"))
    			sLogon = Mid(aActiveUsers(ix), Instr(1, aActiveUsers(ix), "_Logon")+6, Instr(1, aActiveUsers(ix), "_Page")-6-Instr(1, aActiveUsers(ix), "_Logon"))
    			sPage = Mid(aActiveUsers(ix), Instr(1, aActiveUsers(ix), "_Page")+6, Instr(1, aActiveUsers(ix), ":")-6-Instr(1, aActiveUsers(ix), "_Page"))
    			sLastIn = FormatDateTime(Mid(aActiveUsers(ix), Instr(1, aActiveUsers(ix), ":") + 1, Len(aActiveUsers(ix))), vbLongTime)
    			sAtime = DateDiff("n", sLogon, Now())
    			sLogon = FormatDateTime(sLogon, vbLongTime)
    			If count Mod 2 = 0 Then bgclr = "#F6F6F6" Else bgclr = "#EFEFEF" End if
    			count=count+1
    				Response.Write "<tr bgcolor=" & bgclr & ">"
    				Response.Write "<td align=center>" & ut & "</td>"
    			If Session("bLoginOK") Then
    				'Response.Write "<td align=center>"& sUserIP & "</td>"
    				Response.Write "<td align=center>"& sUserIP & "</td>"
    			Else
    				Response.Write "<td align=center>" & sNewUserIP(sUserIP) & "</td>"
    			End if
    				Response.Write "<td align=center>" & sFrom & "</td>"
    				Response.Write "<td align=center>" & Replace(sLogon, ".", ":") & "</td>"
    				Response.Write "<td align=center>" & Replace(sLastIn, ".", ":") & "</td>"
    				Response.Write "<td align=center>" & sAtime & " Mins</td>"
    				Response.Write "<td align=center>" & sPage & "</td>"
    				Response.Write "</tr>"
    		Next
    	On error goto 0
    	Response.Write "</table>"
        response.write "</td></tr></table>
    "
    	If right(Request.serverVariables("SCRIPT_NAME"), len(Request.serverVariables("SCRIPT_NAME")) - instrrev(Request.serverVariables("SCRIPT_NAME"), "/")) <> "activeuserstest.asp" AND bShowPopUp  Then
    		 response.write "<table width=""100%"" height=""100%"" border=0 cellspacing=0 cellpadding=0><tr><td align=center valign=bottom>"
    		 'response.write "<input type=""button"" onclick=""self.close()"" value=""Close Window"" style=""font-size:11px;"">
    "
    		 response.write "</td></tr></table>"
    	End if
    End Sub '--- ShowActiveUsersList
    
    '============= Display Active Users Number ======================================
    Sub ShowActiveUsersNumber ()
    	response.write "<table border=0 cellspacing=0 cellpadding=0 bgcolor=""#FFFFFF"" style=""font-size:11px;font-family:verdana;""><tr><td>"
    	If bShowPopUp Then
    		response.write "Users online: " 
    	Else
    		response.write "Users online: "
    	End if
     response.write "</td><td style='color:red;FONT-SIZE: 8pt; FONT-FAMILY: Tahoma, Arial, Helvetica;'>" & Application("ActiveUsersLog") & "</td></tr></table>"
    End Sub '--- ShowActiveUsersNumber
    %>
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  10. #10
    evidentemenete o non funziona lo script oppure ci sei solo te loggato nel sito

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.