24. august 2007 - 20:23Der er
21 kommentarer og 1 løsning
Connection til db
Hvad galt er der med følgende: <% ' 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("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 = "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("beskyttet.asp") 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 %> ----------------------------------------------------------- Fejlmeddelelse fra supporter på webhotellet skriver:
Sådan som jeg ser det ligger fejlen før dit Response.Redirect tag:
Jeg får flg. fejl på siden når jeg logger på med test/test ADODB.Connection.1 (0x800A0BB9) The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another. /login.asp, line 12
Nu er der da først gået kage i den. Jeg har faktisk kun snuset til asp, så derfor har jeg nok de voldsomme problemer; Jeg har nu forsøgt med: <% ' 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 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & 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 = "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("UserID") = intUID Response.Redirect("beskyttet.asp") 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 %> <html><head> <title>Login script</title> </head><body> <form method="POST" action="login.asp"> <p><font size="4">Angiv brugernavn og adgangskode</font></p><%=strErr%> <table border="0"> <tr> <td width="50%">Brugernavn:</td> <td width="50%"><input type="text" name="Brugernavn" size="20"> (test)</td> </tr> <tr> <td width="50%">Adgangskode:</td> <td width="50%"><input type="password" name="Adgangskode" size="20"> (test)</td> </tr> </table> <p><input type="submit" value="Login" name="Action"></p> </form> </body></html>
Har rettet til det som softspot og cpufan skrev ovenfor til en linie. Men nærmest håbløst. Jeg får nu fejlmeldingen: Technical Information (for support personnel)
Error Type: Sun ONE ASP VBScript compilation (0x800A0408) Unsupported character ' ' /login.asp, line 33, column 1
Browser Type: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; www.ASPSimply.com; .NET CLR 2.0.50727)
Spørger lidt uvidende: Svarer line 33, column 1 til linie og søjle som er angivet under html i Front Page for filen login.asp? Hvis det er tilfældet er der fejl ved If Len(intUID) > 0 Then ... hvordan kommer jeg videre?
Prøver frem og tilbage. I linie 12 og 13 står der nu: Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("login_2000.mdb")
Får nu: Technical Information (for support personnel)
Error Type: ADODB.Connection.1 (0x80004005) SQLState: IM002 Native Error Code: 0 [DataDirect][ODBC lib] Data source name not found and no default driver specified /login.asp, line 12
Browser Type: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; www.ASPSimply.com; .NET CLR 2.0.50727)
Page: POST 45 bytes to /login.asp
POST Data: Brugernavn=test&Adgangskode=test&Action=Login
Det kan godt være at den OLEDB-driver jeg foreslog ikke fungerer på en SUN ASP, så du skal muligvis tilbage til den oprindelige. Dog synes jeg det virkede som om det var i det du åbnede for forbindelsen at fejlen (den oprindelige) opstod, så derfor kan det være du skal undersøge hvad din udbyder har at sige om den sag... :)
Er ved at fortvivle. Jeg har forsøgt med et andet script og får fejl på følgende linie: rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("usersystem.mdb")
Error Type: ADODB.Connection.1 (0x800A0BB9) The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another. /login.asp, line 10
Alternativt skal du have et Windows-hotel i stedet. ..... så er jeg ligevidt da jeg ikke har noget kendskab til mysql hvor jeg med dette værktøj nok er nødt til at lave loginsystemet.
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.