24. juli 2003 - 15:52Der er
2 kommentarer og 1 løsning
Kontroller om post findes i tabel?
Hej Alle!
Håber I alle nyder sommeren :)
Jeg sidder og nørkler med et password script, som jeg ikke kan få til at fungere. Jeg skal have lave en funktion, der enkelt kontrollerer om en post findes i databasen i forvejen. Hvis den gør, skal brugeren sendes videre, hvis ikke få en fejl meddelelse.
Jeg har kigget på dette login script, men kan ikke få det til at virke. Og jeg er ikke superdygtig til asp, så det må meget gerne være med fuldt eksempel :)
Understående script har jeg pillet ved.
<% ' 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("VA"),"'",""))
' Hvis der er skrevet noget i både brugernavn og adgangskode If Len(strUID) > 0 Then
' DSNLess forbindelse til databasen Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("database.mdb")
' Opbygning af SQL streng strSQL = "SELECT ID FROM PayCode"&_ " WHERE (va = '" & strUID & "')"&_
Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then ' Hvis brugeren fandtes i databasen intUID = rs("ID") 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("ID") = intUID Response.Redirect("videre.asp") End If Else ' Hvis der ikke var angivet va strErr = "Ikke godkendt" 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 %> <html><head> <title>Login script</title> </head><body> <form method="POST" action="login.asp"> <p><img border="0" src="../gfx/logo.jpg"></p><%=strErr%> <table border="0" width="242"> <tr> <td width="109"><font face="Verdana" style="font-size: 8pt">Va:</font></td> <td width="143"> <input type="text" name="VA" size="22" style="font-family: Verdana; font-size: 8pt"> </td> </tr> </table> <p> <input type="submit" value="Login" name="Action" style="font-family: Verdana; font-size: 8pt; font-weight: bold"></p> </form> </body></html>
Den vil ikke lave en redirect, jeg har lige hurtigt testet det. Der er et usynligt tegn som gør den ikke laver Redirect, jeg har prøvet at slette alle mellemrum fra Response.Redirect og bagud til linjen oven over og lave returnet igen så virkede det.
Prøv at copy/paste dette kode ind i notepad og så videre ind i din ASP editor.
<% ' 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("VA"),"'",""))
' Hvis der er skrevet noget i både brugernavn og adgangskode If Len(strUID) > 0 Then ' DSNLess forbindelse til databasen Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("database.mdb")
' Opbygning af SQL streng strSQL = "SELECT ID FROM PayCode"&_ " WHERE (va = '" & strUID & "')"
Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then ' Hvis brugeren fandtes i databasen intUID = rs("ID") 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) > 0 Then ' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID" og brugeren bliver sendt videre Session("ID") = intUID Response.Redirect("videre.asp") End IF Else ' Hvis der ikke var angivet va strErr = "Ikke godkendt" 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 %> <html><head> <title>Login script</title> </head><body> <form method="POST" action="login.asp"> <p><img border="0" src="../gfx/logo.jpg"></p><%=strErr%> <table border="0" width="242"> <tr> <td width="109"><font face="Verdana" style="font-size: 8pt">Va:</font></td> <td width="143"> <input type="text" name="VA" size="22" style="font-family: Verdana; font-size: 8pt"> </td> </tr> </table> <p> <input type="submit" value="Login" name="Action" style="font-family: Verdana; font-size: 8pt; font-weight: bold"></p> </form> </body></html>
Det var så sandelig lige det, der skulle til. Jeg siger tusinde tak for hjælpen :)
Håber du får en rigtig god aften!
Mvh
Michael :)
Synes godt om
Ny brugerNybegynder
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.