Avatar billede ppncpn Nybegynder
09. marts 2004 - 23:44 Der 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
%>

hvad er der galt ??
Avatar billede eagleeye Praktikant
09. marts 2004 - 23:48 #1
Der mangler id i querystringen, ser linket ud som dette: xxx.asp?id=22233

Man kan evt. lave et tjek på om id er tom inden man åbner for recordsetet.
Avatar billede ppncpn Nybegynder
09. marts 2004 - 23:52 #2
kan du prøve lige skrive det ind ? .. er ik så go' til det endnu =S ..
Avatar billede eagleeye Praktikant
09. marts 2004 - 23:55 #3
Et eks:

<%
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
End if
%>
Avatar billede eagleeye Praktikant
09. marts 2004 - 23:56 #4
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
..
..
%>
Avatar billede ppncpn Nybegynder
10. marts 2004 - 00:10 #5
brugte den første ... nu kommer den med ..
Microsoft VBScript runtime error '800a01a8'

Object required: ''

/Wheee.dk/nerdz/member_login2.asp, line 24
Avatar billede eagleeye Praktikant
10. marts 2004 - 00:12 #6
Hvad står der i linje 24?
Avatar billede eagleeye Praktikant
10. marts 2004 - 00:15 #7
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
%>
Avatar billede ppncpn Nybegynder
10. marts 2004 - 00:20 #8
i linje 24: <font face="Verdana" size="2"><a target="Menu" href="ret_profil.asp?id=<% = personer.fields("id")%>">Ret profil</a></font>
Avatar billede eagleeye Praktikant
10. marts 2004 - 00:23 #9
Ja og som skrevet i 10/03-2004 00:15:03 så skal det alt samme inden for then delen eller kommer den fejl.

Prøblemet kommer fordi der netop ikke er noget id med i linket, som ved ekempelvis ret_profil.asp?id=xx
Avatar billede eagleeye Praktikant
10. marts 2004 - 00:24 #10
Prøv at kigge hvad der står i linket til siden og tjek der et id=xxxxx ??
Avatar billede ppncpn Nybegynder
10. marts 2004 - 00:38 #11
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

    ' Gemmer formfelterne i Variabler
        strUsername = unQuote(request("username"))
        strPassword = unQuote(request("password"))

  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>

&nbsp;</font></p>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="18%" id="AutoNumber1">
  <tr>
    <td width="53%"><font face="Verdana" size="2">Brugernavn: </font></td>
    <td width="88%">
<input class='knap' type='text' name='username' size='15' style='font-family: Verdana; ' value="<%=strbrugernavn%>"></td>
  </tr>
  <tr>
    <td width="53%"><font class="header"><font size="2" face="Verdana">
    Password:&nbsp; </font>
    </font></td>
    <td width="88%"><font class="header">
<input class="knap" type="password" value="<%=strpassword%>" name="password" size="15" style="font-family: Verdana; "></font></td>
  </tr>
</table>
<p style="margin-top: 0; margin-bottom: 0"><font face="Verdana" size="2">
<br>
</font>
<input class="text" type="submit" value="Login" name="submit" style="font-family: Verdana; ">
<%=error%> </font>
</p>
</form>
<p style="margin-top: 0; margin-bottom: 0">
<br></font></p>
Avatar billede eagleeye Praktikant
10. marts 2004 - 19:28 #12
øh. ok men hvordan hænger de to sider sammen?
Avatar billede ppncpn Nybegynder
11. marts 2004 - 11:43 #13
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 .. ?
Avatar billede eagleeye Praktikant
12. marts 2004 - 15:28 #14
Hvis det er siden som hedder: member_login2.asp så følger der ikke id med i redirecten:

  Response.Redirect "member_login2.asp"


hvis der skal id med skal linjen laves om til:

  Response.Redirect "member_login2.asp?id=" & ez("id")
Avatar billede ppncpn Nybegynder
12. marts 2004 - 23:52 #15
får denne fejl:
Microsoft VBScript compilation error '800a0401'

Expected end of statement

/Wheee.dk/nerdz/login.asp, line 29

Response.Redirect "member_login2.asp?id=" &amp; ez("id")"
----------------------------------------------^
Avatar billede eagleeye Praktikant
12. marts 2004 - 23:54 #16
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:

Response.Redirect "member_login2.asp?id=" & ez("id")
Avatar billede ppncpn Nybegynder
12. marts 2004 - 23:55 #17
Nej nu virker det sgu ... mange tak skal du ha !! ..
Avatar billede ppncpn Nybegynder
12. marts 2004 - 23:55 #18
kan du evt. lige skrive et svar så ;) ?
Avatar billede eagleeye Praktikant
12. marts 2004 - 23:56 #19
Ok her et svar :)
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