Kombinere en 2 sessions
Hejsa-Jeg har 2 scripts fra forskellige systemet, som jeg godt kunne tænke mig at kombinere, da de laver ged i hinanden:
script 1 - dette spørger efter initialer, hvis disse ikke allerede er der:
<%
Dim initialer
initialer=Request("initialer")
if initialer="" then
if Session("BrugerID")<>"0" then initialer=Session("BrugerID")
else
Session("BrugerID")=initialer
Response.Cookies("BrugerID")= initialer
Response.Cookies("BrugerID").Expires = Date+365
Response.Cookies("BrugerID").Path = "/Adhocit"
Response.Redirect "Start.asp"
end if
%>
script 2 - dette bruges i forbindelse med passwordbeskyttede sider:
<%
' Hvis der er blevet trykket på knappen "Login"
If Request.Form("Action") = "Login" Then
' Her forberedes de indtastede værdier til validering
strUID = Trim(Replace(Request.For("Brugernavn"),"'",""))
strPWD = Trim(Replace(Request.Form "Adgangskode"),"'",""))
' Hvis der er skrevet noget i både brugernavn og adgangskode
If Len(strUID) > 0 And Len(strPWD) > 0 Then
' DSNLess forbindelse til databasen
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("login_2000.mdb")
' Opbygning af SQL streng
strSQL = "SELECT UserID FROM Users"&_
" WHERE (Username = '" & strUID & "')"&_
" AND (Password = '" & strPWD & "')"
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
' Hvis brugeren fandtes i databasen
intUID = rs("UserID")
Else
' Hvis brugeren ikke fandtes i databasen
strERR = "<h2><font color='#FF0000'><b>Du blev ikke godkendt af systemet</b></font></h2><h4>Du skal skrive din 4-cifrede kode, med mindre du specifikt har bedt om et andet password.<br>Hvis du mener dette er en fejl bedes du kontakte Administrator</h4>"
End If
' Rydder op i vores connection objekt
myConn.Close
Set myConn = Nothing
If Len(intUID) Then
' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID" og brugeren bliver sendt videre
Session("UserID") = intUID
Response.Redirect("Start_adm.asp")
End If
Else
' Hvis der ikke var angivet brugernavn og adgangskode
strErr = "<h2><font color='#FF0000'><b>Du skal skrive både brugernavn og adgangskode</b></font></h2>"
End If
If Len(strErr) > 0 Then
' Her laves fejlmeddelsen om til rød skrift
strErr = "<p><font color=red>" & strErr & "</font></p>"
End If
End If
Session.Abandon
%>
----
Det der sker på siderne, med tilhørende scripts er at når man kommer til startsiden, tjekkes der om initialer findes. Hvis ikke ryger de til login.asp, for at skrive initialer (disse valideres ikke engang)
Når man så sidder som admin og skal logge ind på beskyttede sider, skulle det gerne være sådan at der tjekkes om man har været logget ind før og hvis ikke ryger man til logon.asp - her skal mn taste initialer samt 4-cifret adgangskode.
-Det ville i øvrigt være rart hvis initialer var skrevet i logon, da disse jo findes i systemet.
150 p. for et færdig-kombineret script!!
