09. marts 2004 - 23:44Der er
18 kommentarer og 1 løsning
hjælp til asp ! login!
Microsoft JET Database Engine error '80040e14'
Syntax error (missing operator) in query expression 'id ='.
/Wheee.dk/nerdz/member_login2.asp, line 6
får denne fejl ved dette: <% Set personer = Server.CreateObject ("ADODB.Recordset") personer.Open "SELECT * FROM members WHERE id = " & Request.QueryString("id"),database %>
<% if Request.QueryString("id") <> "" then Set personer = Server.CreateObject ("ADODB.Recordset") personer.Open "SELECT * FROM members WHERE id = " & Request.QueryString("id"),database
Man kan evt laves sådan den stopper siden med en fejl tekst, her et alternativ:
<% if Request.QueryString("id") = "" then Response.write "Fejl i ID" Response.End End if Set personer = Server.CreateObject ("ADODB.Recordset") personer.Open "SELECT * FROM members WHERE id = " & Request.QueryString("id"),database .. .. %>
Som jeg skrev du skal hvade alt det kode som bruger personer ind i then delen ellers kommer der en fejl som den du får der.
Men du skal nok også prøve at kigge hvorfor du ikke får overført ID rigtigt til siden, for det kode løser ikke problemet med ID mangler det gør bare der ikke skulle komme en fejl hvis man beskytter hele koden...
<% if Request.QueryString("id") <> "" then Set personer = Server.CreateObject ("ADODB.Recordset") personer.Open "SELECT * FROM members WHERE id = " & Request.QueryString("id"),database
..alt det med recordsetet personer
personer.Close Else 'FEJL I ID EVT UDSKRIV DET End if %>
tror det e rbedst du også får login.asp: <link rel="stylesheet" type="text/css" href="style.css"> <% SET RS = Server.CreateObject("ADODB.Connection") rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db.mdb")
If Request("mode") = "Check" then
Function unQuote(strTekst) strTekst = Trim(strTekst) unQuote = Replace(strTekst,"%","53") End Function
Sql = "Select Count(*) as Found from members where (username = '" & strUsername & "') and (password ='" & strPassword & "')" Set LO = RS.Execute(Sql) if LO("Found") = 0 then Session("login") = "" error = "Du blev ikke godkendt af systemet" else strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db.mdb") Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open strDSN strSQL = "SELECT * FROM members where (username = '" & Request("username") & "') and (password ='" & Request("password") & "')" Set ez = myConn.Execute(strSQL) Session("login") = "yes mate" Response.Redirect "member_login2.asp" EZ.Close RS.Close Conn.Close end if end if %> <body bgcolor="transparent"> <font face="Verdana" size="2"> <br></font><form method="POST" action="login.asp"> <font face="Verdana"> <input type="hidden" name="mode" VALUE="Check"> </font> <p style="margin-top: 0; margin-bottom: 0"><font face="Verdana" size="2">Denne side kræver login:<br> <br>
det jeg lige har givet dig er der man logger ind .. den anden side er der hvor man ér logget ind .. du sagde vist noget med at id skulle følge med .. ved ik om det gør .. har fået scriptet af en m8 .. ?
Prøv at fjern amp; i linjen det, kommer af copy/paste direkte fra ekspreten. Prøv evt. at copy/paste ind i notepad først eller vælg "paste as html" i din editor:
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.