/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Tælle antal logins?
Fra : Henrik


Dato : 02-01-03 17:59

Hej,

Jeg bruger nedenstående kode til at lade brugere logge ind på en særlig
lukket del af min hjemmeside:

<%
' 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.Form("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("../db/henrikkure.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 = "Du blev ikke godkendt af systemet."
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(Session("URL"))
End If
Else
' Hvis der ikke var angivet brugernavn og adgangskode
strErr = "Du skal skrive både brugernavn og adgangskode"
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
%>

Jeg kunne godt tænke mig at registrere, hvor mange gange brugerne logger
ind - og gerne dato og tid for sidste login. F.s.v.a. førstnævnte, har jeg
lavet et felt i tabellen Users ved navn Logins, og jeg forestiller mig, at
dette skal opdateres via følgende kode:

strSQLupdate = "UPDATE Users SET Logins = Logins + 1 WHERE ID = " &
rs("UserID")
Conn.Execute(strSQLupdate)

Jeg ved bare ikke hvor det skal placeres i koden herover - har prøvet mig
frem, men kan ikke få det til at fungere. F.s.v.a. dato og tid for seneste
login, har jeg lavet et felt i tabellen Users ved navn LatestLogin - men
hvordan får jeg puttet informationerne ind?

Håber på hjælp

På forhånd tak.

Henrik



 
 
Jonas Skafte Jensen (02-01-2003)
Kommentar
Fra : Jonas Skafte Jensen


Dato : 02-01-03 18:11


> <%
> ' 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.Form("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("../db/henrikkure.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")

' HER, VILLE UMIDDELBART VÆRE MIT BUD.
strSQLupdate = "UPDATE Users SET Logins = Logins + 1 WHERE ID = " &
rs("UserID")
Conn.Execute(strSQLupdate)

> Else
> ' Hvis brugeren ikke fandtes i databasen
> strERR = "Du blev ikke godkendt af systemet."
> 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(Session("URL"))
> End If
> Else
> ' Hvis der ikke var angivet brugernavn og adgangskode
> strErr = "Du skal skrive både brugernavn og adgangskode"
> 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
> %>



Henrik (02-01-2003)
Kommentar
Fra : Henrik


Dato : 02-01-03 20:10

> ' HER, VILLE UMIDDELBART VÆRE MIT BUD.
> strSQLupdate = "UPDATE Users SET Logins = Logins + 1 WHERE ID = " &
> rs("UserID")
> Conn.Execute(strSQLupdate)

Det virker ikke - bruger jeg mon den rigtige update streng?



Jonas Skafte Jensen (02-01-2003)
Kommentar
Fra : Jonas Skafte Jensen


Dato : 02-01-03 22:48

> Det virker ikke - bruger jeg mon den rigtige update streng?

Hvordan reagerer den - får du en fejlmeddelelse?



Henrik (03-01-2003)
Kommentar
Fra : Henrik


Dato : 03-01-03 05:56

Tak for hjælpen, nu har jeg fundet ud af det



Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408836
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste