Ho un login che mi fa accedere ad arree protette nelle quali includo il file verifica.inc.
Il login funziona poerfettamente, anche il logout fa il suo dovere.
Il problema è nell'ultimo pezzo del codice della pagina verifica.inc...il codice mi scrive chi è connesso, ma all'uscita non mi cancella il nome dell'utente connesso;
mi spiego meglio: se si connettono UGO e MATTEO il "response.write("Sono connessi: ")&(Application("nomiusers"))" mi stampa a video (giustamente) che sono connessi UGO e MATTEO...ma se uno dei 2 (o tutti e 2) effettua il logout (o chiude il browser) rimane scritto "Sono connessi: UGO e MATTEO". Non riesco a capire dov'è il problema
File Verifica.inc
codice:
<%
Dim ConnVerifica
Set ConnVerifica=Server.CreateObject("ADODB.Connection")
ConnVerifica.Open "driver={Microsoft Access Driver (*.mdb)};pwd=;dbq="& server.MapPath("..\..\db\carico.mdb")
'Se la sessione login è diversa da uno allora esegue la verifica
if session("login") <> 1 then
'Richiama i valori inseriti nel form di Login.asp
Username = request("Username")
Password = request("Password")
'Stringa SQL che seleziona l'username e la password dalla tabella del database
SqlVerifica = "select * from Utenti where Username = '" & Username & "' and Password = '" & Password & "'"
set recVerifica = ConnVerifica.execute(SqlVerifica)
'Se i dati sono presenti nella tabella, session("login") assume il valore di uno altrimenti viene eseguito il reindirizzamento alla pagina Login.asp
if not recVerifica.eof then
session("login") = 1
else
response.redirect "Login.asp"
end if
session("login2")=Username
recVerifica.close
set recVerifica = nothing
end if
%>
------'L'ERRORE DOVREBBE ESSERE QUI'--------------
<%
For i = 0 to Session.Contents.Count
Next
x=Application("nomiusers")
x=x & " " & username
Application("nomiusers")=x
response.write("Sono connessi: ")&(Application("nomiusers"))
%>
'-------------------------------------------------------