Avatar billede steffen8260 Nybegynder
07. september 2005 - 12:28 Der er 14 kommentarer og
1 løsning

problem med ban systems script, 500 Server error

Hej,
Jeg har siddet og skrevet følgende script, det virker fint nok HVIS man er banlyst, hvis ikke modtager jeg bare en "HTTP 500 - Internal server error" nogen der ved hvordan det kan være?

<%
  userIP = (Request.ServerVariables("remote_addr")) 

  Set Conn = Server.CreateObject("ADODB.Connection")
  DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
  DSN = DSN & "DBQ=" & Server.MapPath ("../db/db.mdb")
  Conn.Open DSN
  strSQL = "SELECT * FROM ban WHERE banIP = '" & userIP & "'"
  Set rs = Conn.Execute(strSQL)

  if Not rs.EOF or rs.BOF then
    response.redirect "banned.asp?begrundelse=blablabla"
  end if
%>
Avatar billede kalp Novice
07. september 2005 - 12:31 #1
I IE tryk funktioner-> internet indstillinger-> avanceret og fjern flueben i "Vis meddelselser om uskadelige http fejl "

eller sæt et flueben hvis der mangler
Avatar billede kalp Novice
07. september 2005 - 12:31 #2
så kan du se hvad fejlen er
Avatar billede steffen8260 Nybegynder
07. september 2005 - 12:32 #3
Top nice der, den kendte jeg sku ikke :)

Microsoft VBScript compilation error '800a040e'

'loop' without 'do'

/checkban.inc, line 11

Loop While Not rs.EOF
^
Avatar billede steffen8260 Nybegynder
07. september 2005 - 12:32 #4
men ved ik helt hvad jeg gør galt
Avatar billede kalp Novice
07. september 2005 - 12:34 #5
Du skal køre dit resultset igennem med en løkke
Avatar billede fennec Nybegynder
07. september 2005 - 12:37 #6
det hedder:

do While Not rs.EOF
..
..
loop
Avatar billede kalp Novice
07. september 2005 - 12:38 #7
Se løsningen her.. du skal sådan set bruge det samme
http://eksperten.dk/spm/604668
Avatar billede fennec Nybegynder
07. september 2005 - 12:38 #8
eller:
While Not rs.EOF
..
..
Wend
Avatar billede steffen8260 Nybegynder
07. september 2005 - 12:39 #9
kan ik helt følge det, hvordan vil det se ud i min kode efter min conn.execute linie?
Avatar billede softspot Forsker
07. september 2005 - 12:42 #10
Prøv at vise den kode du allerede har efter conn.execute, dvs. der hvor du forsøger at loope...
Avatar billede softspot Forsker
07. september 2005 - 12:43 #11
...eller rettere den kode omkring den linie hvor siden fejler.
Avatar billede steffen8260 Nybegynder
07. september 2005 - 12:44 #12
sådan :P fik det sku til at virke

tak for hjælpen alle nu ser min kode så ledes ud:

<%
  userIP = (Request.ServerVariables("remote_addr")) 

  Set Conn = Server.CreateObject("ADODB.Connection")
  DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
  DSN = DSN & "DBQ=" & Server.MapPath ("../db/db.mdb")
  Conn.Open DSN
  strSQL = "SELECT * FROM ban WHERE banIP = '" & userIP & "'"
  Set rs = Conn.Execute(strSQL)

  if Not rs.EOF then
    response.redirect "banned.asp?begrundelse=test"
  end if
%>
Avatar billede softspot Forsker
07. september 2005 - 12:46 #13
Hvad er ændret i den kode?
Avatar billede kalp Novice
07. september 2005 - 12:46 #14
Går ud fra du if Not rs.EOF or rs.BOF then  til    if Not rs.EOF then
som på linket jeg henviste til ellers må du bare afvise mit svar:)
Avatar billede kalp Novice
30. september 2005 - 02:15 #15
steffen8260 >> Du reagere ikke rigtig længere efter du har modtaget en løsning?
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