Jeg har ikke testet denne kode, men det burde virke (hvis jeg ikke har glemt noget) :-)
- Ret action="index.asp" i FORM'en til, så det passer med din login-fil (til behandling af brugernavn/kodeord)
- Indsæt koden til oprettelse af forbindelse til databasen, der hvor der står "Opret forbindelse til databasen..."
- Ret "TabellensNavn" til navnet på din tabel
- Ret "brugernavn" og "kodeord" i sql-sætningen, så de passer med dine felter
<%
Option Explicit ' Man bør altid bruge Option Explicit -- denne linie SKAL være linie nr 1 i filen!
' Denne linie tvinger programmøren til at definere/dimme ALLE variablerne.
' Så kan den nemlig fortælle os, hvis vi laver stavefejl (da variablen så ikke er defineret)
%>
<form name="login" action="index.asp" method="post">
Brugernavn: <input type="text" name="brugernavn">
<br>
Kodeord: <input type="text" name="kodeord">
<br>
<input type="submit" name="submit" value="Login">
</form>
<%
' Lad og checke om brugeren har submittet (sendt) data, der skal valideres/bruges til login
' Husk at POST skal stå med stort!
if request.servervariables("request_method") = "POST" then
' Yep.. brugeren har klikket/aktiveret "Login"-knappen, og ønsker at logge ind.
dim brugernavn, kodeord ' definere/dimme vores variabler, som man altid bør gøre
brugernavn = replace(request.form("brugernavn"), "'", "''")
kodeord = replace(request.form("kodeord"), "'", "''")
' Et enkelt ' erstattes med 2x ', men fortolkes som 1x '.
' Det gør man, så man ikke kan bruge "SQL Injection" (slå det op på
http://www.google.com )
' definere/dimme de variabler vi skal bruge
dim stien
stien = "" ' nulstil stien
dim rs, conn, sql
' Opret forbindelse til databasen...
sql = "select * from TabellensNavn where brugernavn = '" & brugernavn & "' and kodeord = '" & kodeord & "'"
set rs = conn.execute(sql)
if not (rs.bof or rs.eof) then
' brugeren blev fundet i databasen
stien = rs("stien")
else
' man skal ikke afslører, om personen (muligvis en "hacker") har fundet et korrekt brugernavn..
' så man fortæller vedkommende, at "brugernavn ELLER kodeordet" er forkert:
response.write "Brugernavn eller kodeordet er forkert!"
end if
' man skal altid rydde op efter sig.. dvs, lukke forbindelser og "destruere" objekterne:
rs.close
set rs = nothing
conn.close
set conn = nothing
' check om variablen "stien" er forskellig fra "" (dvs, variablen "stien" indeholder noget),
' hvilket vil være sandt/korrekt, hvis brugeren loggede rigtigt ind..
' Hvis alt er OK, send brugeren videre..
if stien <> "" then response.redirect(stien)
end if
%>
/theSurfer