Avatar billede justdoit Nybegynder
15. maj 2002 - 23:28 Der er 4 kommentarer og
1 løsning

Login - hent fra db

Jeg har en administrator login, men i samme formfelt som jeg bruger admin, skal min bruger kunne logge sig ind efter de har oprettet sig i databasen, men hvordan ser koden ud??

Her er det første kode:

<% Dim navn, kode
          navn = request.form("Brugernavn")
          kode = request.form("Kode")
         
          If navn = "admin" AND kode = "admin" then
          response.redirect("admin.asp")
          else

          Her skal der oprettes forbindelse til databasen, for at tjekke om brugerens data er ok!!

          response.redirect("fejl.asp")
          end if
%>


Men hvordan??
Avatar billede bobbedude Nybegynder
16. maj 2002 - 09:42 #1
Login siden

<%
If Request.Form("Action") = "Login" Then

strUID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))

If Len(strUID) > 0 And Len(strPWD) > 0 Then

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("sleevs.mdb")

strSQL = "SELECT UserID FROM Users WHERE (Username = '" & strUID & "') AND (Password = '" & strPWD & "')"

Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then

intUID = rs("UserID")
Else

strERR = "Ingen adgang"
End If


myConn.Close
Set myConn = Nothing

If Len(intUID) Then
session("bruger") = Request.Form("Brugernavn")
Session("UserID") = intUID
Response.Redirect("sleevs.asp")
End If
Else
' tæl antallet af fejl forsøg op.
Session("FejlForsoeg") = Session("FejlForsoeg") + 1
' hvis over 4 fejl
if Session("FejlForsoeg") > 4 then
' send brugeren over til siden error.asp
response.redirect("error.asp")
end if
strErr = "Du skal skrive både brugernavn og adgangskode"
End If

If Len(strErr) > 0 Then

strErr = "<font color=red>" & strErr & ""

End If
End If
%>



Beskyt sider

<!--#include file="protect.inc"-->


Scriptet der beskytter
protect.inc

<%
If isEmpty(Session("UserID")) Then
    Response.Redirect("login.asp")
End If
%>



prøv det her
Avatar billede justdoit Nybegynder
16. maj 2002 - 12:37 #2
Hej, ja det var lige det jeg manglede.

Nu har jeg sat det ind på min side der hedder login.asp og det virker næsten. Når jeg skriver brugernavn og kode rigtigt så logger jeg ind på bruger.asp. Men når jeg skriver et forkert brugernavn eller kode så stopper siden på login.asp ???


Her er mine koder!


<% Dim navn, kode
          navn = request.form("Brugernavn")
          kode = request.form("Kode")
         
          If navn = "admin" AND kode = "admin" then
          response.redirect("admin.asp")
          else
         
          strUID = Trim(Replace(Request.Form("brugernavn"),"'",""))
          strPWD = Trim(Replace(Request.Form("kode"),"'",""))

If Len(strUID) > 0 And Len(strPWD) > 0 Then

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("../cinemax/db/medlem.mdb")

strSQL = "SELECT id FROM bruger WHERE (brugernavn = '" & strUID & "') AND (kode = '" & strPWD & "')"

Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then

intUID = rs("id")
Else

strERR = "Ingen adgang"
End If


myConn.Close
Set myConn = Nothing

If Len(intUID) Then
session("maxbruger") = Request.Form("brugernavn")
Session("id") = intUID
Response.Redirect("bruger.asp")
End If
Else
' tæl antallet af fejl forsøg op.
Session("FejlForsoeg") = Session("FejlForsoeg") + 1
' hvis over 3 fejl
if Session("FejlForsoeg") > 3 then
' send brugeren over til siden fejl.asp
response.redirect("fejl.asp")
end if
end if
end if

%>
Avatar billede bobbedude Nybegynder
16. maj 2002 - 12:48 #3
Det er fordi at den først sender dig videre når du har lavet 3 fejlforsøg.


' tæl antallet af fejl forsøg op.
Session("FejlForsoeg") = Session("FejlForsoeg") + 1
' hvis over 3 fejl
if Session("FejlForsoeg") > 3 then


Du kan evt lave 3 om til 1
Avatar billede justdoit Nybegynder
16. maj 2002 - 13:08 #4
ok - men når jeg taster en fejl, så bliver siden blank og jeg har derfor ikke mulighed for at taste igen - hvordan laver jeg det om??
Avatar billede justdoit Nybegynder
16. maj 2002 - 15:14 #5
ok tak - nu har jeg lavet det på en anden måde og det virker nu!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester