Frågan 19 jan. 2004 17:33 #1 default.asp:
<form method="POST" action="login.asp">
<p align="center">
<input type="text" onFocus="this.value=''" name="username" size="16" style="font-family: Verdana; font-size: 10px; text-align: center; color: #FFFFFF; border-style: solid; border-width: 1px; background-color: #000000" value="Användarnamn"><br>
<input type="password" onFocus="this.value=''" name="password" size="16" style="font-family: Verdana; font-size: 10px; text-align: center; color: #FFFFFF; border-style: solid; border-width: 1px; background-color: #000000" value="Lösenord"><br>
<input type="submit" value="Logga in" name="login" style="font-family: verdana; font-size: 10px; color: #FFFFFF; border-style: solid; border-width: 1px; background-color: #000000"></p>
</form>
--------------------
login.asp:
<%
username = Request.Form("username")
password = Request.Form("password")
if Len(password) <1 OR Len(username) <1 then
session("fel") = "Du måste skriva in både användarnamn och lösenord"
Response.Redirect("fel.asp")
end if
Set connection = server.createObject("adodb.connection")
connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("admin.mdb") & ";"
SQL = "SELECT * FROM tbl_admin WHERE username = '"&username&"' AND password = '"&password&"' "
set RS = Connection.Execute(SQL)
IF NOT RS.EOF then
session("inloggad") = "ja"
Session("fel") = ""
session("level") = rs("level")
response.redirect rs("admin_ok.asp")
Else
Session("fel") = "Du skrev fel lösenord eller användarnamn!"
response.redirect ("fel.asp")
end if
RS.close
Connection.Close
%>
--------------------
Även om jag skriver rätt användarnamn och lösenord så kommer jag till fel.asp S=
varför?
Förlåt, fel av mig.. När jag anger rätt uppgifter så visas bara ett 404 felmeddelande...
I icaaq Medlem sedan okt. 2000 5 273 inlägg Stäng av vänliga felmedelanden under verktyg-->internet-alternativ-->avancerat
mv icaaq
edit. det kan även stå visa egna HTTP-felmedelanden
Peeer Medlem sedan mars 2002 5 907 inlägg Kommer du till samma sida när du skriver rätt som när du skriver fel? Om inte, så kontrollera sökvägen på filen som du ska komma till, admin_ok.asp, finns den filen i samma mapp som din inloggningsfil?
tydal Medlem sedan juni 2003 4 013 inlägg Execute returnerar inget recordset, den bara utför någonting. Du ska använda en annan metod istället, fast vad är det den heter i asp? Open kanske? Kolla ett exempel - vilket som helst - på hur man använder databaser i asp så ser du... (jo, det var open).
Och så måste du ju kontrollera att det inte finns några apostrofer i username eller password.
@nders Medlem sedan juni 2000 32 967 inlägg
tydal skrev:
Execute returnerar inget recordset, den bara utför någonting. Du ska använda en annan metod istället, fast vad är det den heter i asp? Open kanske? Kolla ett exempel - vilket som helst - på hur man använder databaser i asp så ser du... (jo, det var open).
Va? Använder du execute skapas ett recordset automatiskt, så det ska funka fint att göra som i koden ovan.
ja admin_ok.asp finns i samma mapp som login.asp
hmm enligt felmedeelandena ska det vara den här raden det är fel på:
connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("admin.mdb") & ";"
I icaaq Medlem sedan okt. 2000 5 273 inlägg Testa en JET istället
[red]
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("admin.mdb") & ";"
[/red]
Om den är fel den med så vad ger
[red]
Response.Write Server.MapPath("admin.mdb")
[/red]
mv icaaq
tydal Medlem sedan juni 2003 4 013 inlägg
@nders skrev:
Va? Använder du execute skapas ett recordset automatiskt, så det ska funka fint att göra som i koden ovan.
Jag trodde MS var konsekventa, men är det inte så, så my mistake...
I MS-världen har jag bara använt VC++:s MFC-klasser där det funkar som jag skrev.
kan inte någon vänlig själ bara skriva ett loginscript åt mig? vore skitsnällt.
info:
databas: admin.mdb
tabell: tbl_admin
kolumner: ID, username, password
formulärfältsnamn: username och password
filen vill jag helst ska heta login.asp
@nders Medlem sedan juni 2000 32 967 inlägg
SprayMaphia skrev:
hmm enligt felmedeelandena ska det vara den här raden det är fel på:
connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("admin.mdb") & ";"
Vad får du för felmeddelande då?
Sidan kunde inte visas
Det har uppstått problem med sidan du försökte nå. Den kunde inte visas.
--------------------------------------------------------------------------------
Prova att:
Klicka på knappen Uppdatera, eller försök igen senare.
öppna hemsidan localhost och titta efter länkar till informationen du söker.
HTTP 500.100 - Internt serverfel - ASP-fel
Internet Information Services
--------------------------------------------------------------------------------
Teknisk information (för supportpersonal)
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Drivrutin för ODBC Microsoft Access]Allmänt fel Det går inte att öppna registernyckeln 'Temporary (volatile) Jet DSN for process 0xa24 Thread 0xf58 DBC 0x111579c Jet'.
/hatecrew/login.asp, line 11
Webbläsare:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)
Sida:
POST 52 bytes to /hatecrew/login.asp
POST Data:
username=SprayMaphia&password=******&login=Logga+in
Tid:
den 19 januari 2004, 19:17:04
Mer information:
Microsoft Support
@nders Medlem sedan juni 2000 32 967 inlägg Ligger Access-databasen i samma mapp som asp-filen?
I icaaq Medlem sedan okt. 2000 5 273 inlägg Om du gör en sökning på volatile så får du massor med svar på att antingen så är det en fel sökväg till databasen eller så är databasen inte stängd.
Så då är frågan har du stängt access?
Har du rätt sökväg till databasen?
mv icaaq