I 9 ud af 10 tilfælde skylden den slags fejl at SQL-kommandooen ser anderledes ude end det man forventede. Prøv derfor, som debugning, at udskrive den på skærmen før at den udføres:
<% Set SQL = "SELECT * FROM ref WHERE email = '" & Replace(Request.Form("email"), "'", "''") & "'" Response.Write "DEBUG: " & SQL Set rs = Conn.Execute(SQL)
do while not rs.eof if rs("til") = request.form("email") then dimref = rs("fra") else ' Skulle der ikke være noget kode her? end if rs.movenext loop %>
<% SQL = "SELECT * FROM ref WHERE email = '" & Replace(Request.Form("email"), "'", "''") & "'" Response.Write "DEBUG: " & SQL Set rs = Conn.Execute(SQL)
do while not rs.eof if rs("til") = request.form("email") then dimref = rs("fra") else ' Skulle der ikke være noget kode her? end if rs.movenext loop %>
Det har jeg ikke. Nu tester jeg med info1@email.dk som ikke forekommer i databasen, så skal scriptet springe frem til "else redirerect ("ingenref.asp") " det gør den bare ikke - if then ignoreres..
Hvis du tester med noget som slet ikke er i databasen så kommer du ikke engang ind i din do-while løkke. I den sammenhæng er det lidt forkert at sige at din if-then ignoreres.
Men så skriver du noget om redirect, og den havde du ikke med i din kode. Jeg gætter på at meningen er at du gerne vil have den til at hoppe til ingenref.asp hvis der ikke er nogen email som svarer til det indtastede. Det kunne se sådan her ud:
<% SQL = "SELECT * FROM ref WHERE email = '" & Replace(Request.Form("email"), "'", "''") & "'" Response.Write "DEBUG: " & SQL Set rs = Conn.Execute(SQL)
EmailFundet = False do while not rs.eof EmailFundet = True if rs("til") = request.form("email") then dimref = rs("fra") else ' Skulle der ikke være noget kode her? end if rs.movenext loop
if Not EmailFundet Then Response.Redirect("ingenref.asp") End If %>
Hm,, måske? det er noget mere kompliceret, eller måske rettere et tæmmelig stort og nok rodet script med en lang række Jmail m.m. På et tidspunkt havde jeg faktisk fået det til at virke, men af en eller anden grund gik den sidste Jmail i løkke og lagde serveren ned, når der kunne findes en email i databasen svarende til request.form("email"), så byggede jeg en masse om og er endt her... men jeg prøver det du forslår.
Kan du ikke prøve at beskrive hvad det er du ønsker at der skal ske? Hvad skal der ske når der er noget i databasen som opfylder søgekriteriet og hvad skal der ske når søgekriteriet returnere 0 værdier?
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.