Avatar billede inctor Nybegynder
14. juni 2006 - 20:17 Der er 34 kommentarer og
2 løsninger

Too few parameters. Expected 1.

Ja som overskriften lyder for jeg denne fejl i min lille kode .. Min kode er således her: den er egnet til et bannings system .. Sig til hvis jeg har lavet fejl i koden ..

<%
DataPath = Server.MapPath("../database/ban.mdb")

  Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & DataPath & ""
strSQL= "SELECT * FROM banning WHERE ip=" & Request.ServerVariables("REMOTE_HOST") & " "
Set rs = Conn.Execute(strSQL)
if  rs("ip") =  Request.ServerVariables("REMOTE_HOST")  Then
Response.Write "Du er Bannet !"
End If
%>
Avatar billede eagleeye Praktikant
14. juni 2006 - 20:20 #1
Hvis ip er en tekst kolonne skal der ' omkring teksten i SQL sætningen sådan her:



strSQL= "SELECT * FROM banning WHERE ip= '" & Request.ServerVariables("REMOTE_HOST") & "'"
Avatar billede madeindk Nybegynder
14. juni 2006 - 20:21 #2
Prøv med flg.:

<%
DataPath = Server.MapPath("../database/ban.mdb")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & DataPath & ""
strSQL= "SELECT * FROM banning WHERE ip='" & Request.ServerVariables("REMOTE_HOST") & "'"
Set rs = Conn.Execute(strSQL)

if rs("ip") =  Request.ServerVariables("REMOTE_HOST")  Then
Response.Write "Du er Bannet !"
End If
%>

Er ikke sikker på det virker da jeg ikke kender din database :-)
Avatar billede inctor Nybegynder
14. juni 2006 - 20:22 #3
nu kom den her fejl, hvis jeg satte ' ' rundt om:

error '80020009'

Prøver lige ..
Avatar billede inctor Nybegynder
14. juni 2006 - 20:23 #4
Nope samme fejl med begge koder .. :S Har endda prøvet at tilføje min IP til databasen, men det ændret ikk noget ..
Avatar billede inctor Nybegynder
14. juni 2006 - 20:25 #5
Kan ikk huske om jeg har sat den til MEMO eller Text .. :S
Avatar billede madeindk Nybegynder
14. juni 2006 - 20:25 #6
Hmm - det lyder meget mærkeligt.

Prøv med flg. - er slet ikke sikker - det er lidt et skud i luften.

<%
DataPath = Server.MapPath("../database/ban.mdb")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & DataPath & ""
strSQL= "SELECT * FROM banning WHERE ip= & Request.ServerVariables("REMOTE_HOST") & "
Set rs = Conn.Execute(strSQL)

if rs("ip") =  Request.ServerVariables("REMOTE_HOST")  Then
Response.Write "Du er Bannet !"
End If
%>
Avatar billede madeindk Nybegynder
14. juni 2006 - 20:25 #7
Men det kan du vel undersøge ved at åbne din db :-)
Avatar billede inctor Nybegynder
14. juni 2006 - 20:26 #8
Expected end of statement

på strSQL linien ..
Avatar billede eagleeye Praktikant
14. juni 2006 - 20:29 #9
Prøv at paste hele fejl koden ind og ikke kun:  error '80020009'

Hvis der er Text eller Memo skal der ' omkring i begge tilfælde.
Avatar billede madeindk Nybegynder
14. juni 2006 - 20:30 #10
Er næsten helt sikker på denne vil virke:
strSQL= "SELECT * FROM banning WHERE ip='" & Request.ServerVariables("REMOTE_HOST") & "'"

Den er skrevet før - men expected 1 kan også betyde at den ikke kan finde feltet 'ip' - tjek lige efter at du har skrevet det helt korrekt
Avatar billede inctor Nybegynder
14. juni 2006 - 20:33 #11
error '80020009'
/highrisetimenews/whobanned2.asp, line 8
Linie 8 er if sætningen ..
Avatar billede madeindk Nybegynder
14. juni 2006 - 20:35 #12
Ok - så prøv med denne kode:

<%
DataPath = Server.MapPath("../database/ban.mdb")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & DataPath & ""
strSQL= "SELECT * FROM banning WHERE ip='" & Request.ServerVariables("REMOTE_HOST") & "'"
Set rs = Conn.Execute(strSQL)

if rs.eof then
else
do until rs.eof

if rs("ip") =  Request.ServerVariables("REMOTE_HOST")  Then
Response.Write "Du er Bannet !"
End If

rs.movenext
loop
end if
%>
Avatar billede inctor Nybegynder
14. juni 2006 - 20:37 #13
Hmm nu er der ikk nogen fejl .. Men min IP er i Databasen, og den siger ikk at jeg er bannet ?
Avatar billede eagleeye Praktikant
14. juni 2006 - 20:38 #14
Prøv  sådan her:


<%
DataPath = Server.MapPath("../database/ban.mdb")

  Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & DataPath & ""
strSQL= "SELECT * FROM banning WHERE ip='" & Request.ServerVariables("REMOTE_HOST") & "'"
Set rs = Conn.Execute(strSQL)
if  not rs.EOF Then
Response.Write "Du er Bannet !"
End If
%>
Avatar billede madeindk Nybegynder
14. juni 2006 - 20:40 #15
Argh - selvfølgelig eagleeye, min kode var da helt i tågen. Tænkte ikke på man kunne gøre det på den måde... Så kan jeg vidst se langt efter de point :-)
Avatar billede inctor Nybegynder
14. juni 2006 - 20:44 #16
Nope , den skriver det stadig ikk .. min ip er 212.10.3.110 , og den er i DB'en, har lige tjekket .. Men den skriver ikk jeg er Bannet ..
Avatar billede madeindk Nybegynder
14. juni 2006 - 20:47 #17
Jeg prøver igen - dog med lidt fra eagleeye's kode :-)

<%
DataPath = Server.MapPath("../database/ban.mdb")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & DataPath & ""
strSQL= "SELECT * FROM banning WHERE ip='" & Cstr(Request.ServerVariables("REMOTE_HOST")) & "'"
Set rs = Conn.Execute(strSQL)

if  not rs.eof Then
Response.Write "Du er Bannet !"
End If
%>

Cstr(Request.ServerVariables("REMOTE_HOST"))
Avatar billede inctor Nybegynder
14. juni 2006 - 20:51 #18
Nope , stadig ingen ting .. :S Siden er blank .. Hvad kan fejlen være ? fatter det ikke :S
Avatar billede eagleeye Praktikant
14. juni 2006 - 20:52 #19
hvor køre du koden, hvis det er et web-hotel er du sikker på du har uploadet filen?
Avatar billede inctor Nybegynder
14. juni 2006 - 20:53 #20
Det er fra Web10.dk .. Jaa alt er uploadet .. Har tjekket efter .. Alt er der ..
Avatar billede eagleeye Praktikant
14. juni 2006 - 20:53 #21
Hvad sker der hvis du udskriver IP adressen:


response.Write "IP="&Request.ServerVariables("REMOTE_HOST")
Avatar billede inctor Nybegynder
14. juni 2006 - 20:54 #22
Så kommer IP=d40a036e.rev.stofanet.dk frem , det jo ikk min IP adresse , men min HOST adresse .. Derfor den ik siger jeg er bannet :S
Avatar billede madeindk Nybegynder
14. juni 2006 - 20:57 #23
Ok - så prøv med

<%
DataPath = Server.MapPath("../database/ban.mdb")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & DataPath & ""
strSQL= "SELECT * FROM banning WHERE ip='" & Request.ServerVariables("REMOTE_ADDR") & "'"
Set rs = Conn.Execute(strSQL)

if  not rs.EOF Then
Response.Write "Du er Bannet !"
End If
%>
Avatar billede inctor Nybegynder
14. juni 2006 - 21:00 #24
Der var den  ! :) heeh .. Troede ikk der var forskel .. :) heeh .. Dumt jeg havde overset den fejl . . :) Smid svar madeInDK .. :)
Avatar billede madeindk Nybegynder
14. juni 2006 - 21:01 #25
Svar.

Jeg vil gerne dele med eagleeye - han gjorde også en stor del af arbejdet :-)
Avatar billede inctor Nybegynder
14. juni 2006 - 21:01 #26
NU skal jeg bare ha lavet et system hvor jeg kan se alle dem som er bannet, tilføje nye IP'er, slette IP'er, og sætte en Expire på .. heeh .. Gosh et projekt jeg har sat mig for .. ;)
Avatar billede inctor Nybegynder
14. juni 2006 - 21:02 #27
Skal det være 50/50 eller 60/40 eller 70/30 eller 80/20 ? altså du får flest da du kom med løsningen .. ;D
Avatar billede eagleeye Praktikant
14. juni 2006 - 21:04 #28
Så vidt jeg kan se så løste vi lige mange fejl..
Avatar billede inctor Nybegynder
14. juni 2006 - 21:04 #29
Så det blir 50/50 ? eller ?
Avatar billede madeindk Nybegynder
14. juni 2006 - 21:05 #30
Ja - det lyder meget fornuftigt :-)

Det er rigtigt det eagleeye siger
Avatar billede inctor Nybegynder
14. juni 2006 - 21:06 #31
Er i friske på at hjælpe mig med at lave et system hvor jeg kan se alle dem som er bannet, tilføje nye IP'er, slette IP'er, og sætte en Expire på  ? heeh .. :P I får selvf flere point i nyt spm .. heeh ..
Avatar billede madeindk Nybegynder
14. juni 2006 - 21:08 #32
Ja - forsøg selv - så skal jeg nok holde øje med dine spørgsmål, hvis der er noget du ikke kan løse ;)
Avatar billede inctor Nybegynder
14. juni 2006 - 21:12 #33
Har et nu, jeg skal have vist dem som er i DB'en. har ikk lært at lave de der tables rigtigt, men her er HTML råkoden:

<div align="left">
  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="448" height="1" id="AutoNumber1">
    <tr>
      <td width="111" height="1">IP</td>
      <td width="111" height="1">Bannet</td>
      <td width="112" height="1">Udløber</td>
      <td width="112" height="1">Fordi</td>
    </tr>
    <tr>
      <td width="111" height="1">212.10.3.210</td>
      <td width="111" height="1">21:10 14/6-2006</td>
      <td width="112" height="1">23:10 14/6-2006</td>
      <td width="112" height="1">Test Banning...</td>
    </tr>
        </table>
</div>
Som i kan se øverst er den øverste bjælke den øverste af dem, den skal være øverst, bagefter skal den nederste Loop'es det antal gange som der er Records hvor felterne blir udfyldt ligesom jeg har gjort ..
Avatar billede madeindk Nybegynder
14. juni 2006 - 21:12 #34
Opret et nyt spørgsmål - så kigger vi på det :-)
Avatar billede madeindk Nybegynder
14. juni 2006 - 21:13 #35
Smid linket til det nye spørgsmål her...
Avatar billede inctor Nybegynder
14. juni 2006 - 21:14 #36
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