<% sub Resultat \' Henter værdierne strKeyword = Trim(Request.Form(\"Keyword\"))
If Len(strKeyword) = 0 Then \' Hvis der ikke er skrevet i feltet Response.Clear Response.Redirect(\"search.asp\") Else \' Hvis der er skrevet i feltet strKeyword = Replace(strKeyword,\"\'\",\"\'\'\") End If
\' Opbygger en dynamisk SQL streng strSQL = \"SELECT OPGNAVN, AFDNAVN, PROJEKTNAVN, OPGID, OPGLEDER, OPGOPRETTET FROM opgave1 WHERE\" strSQL = strSQL & \" (OPGNAVN LIKE \'%\" & strKeyword & \"%\')\" strSQL = strSQL & \" OR (PROJEKTNAVN LIKE \'%\" & strKeyword & \"%\')\" strSQL = strSQL & \" OR (OPGID LIKE \'%\" & strKeyword & \"%\')\" strSQL = strSQL & \" OR (OPGLEDER LIKE \'%\" & strKeyword & \"%\')\" strSQL = strSQL & \" OR (OPGOPRETTET LIKE \'%\" & strKeyword & \"%\')\" strSQL = strSQL & \" ORDER BY OPGID\"
\' Skaber forbindelse til DBen %> <!-- #include file=\"database.asp\" --> <%
\' Skaber et recordset udfra SQL strengen Set rs = Conn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then \' Hvis der er fundet poster på søgningen Response.Write \"<p>Søgeresultat</p>\" Response.Write \"<table border=1>\" Response.Write \"<tr><th>OpgID</th><th>OpgNavn</th><th>Afdnavn</th><th>Projekt</th><th>Opgleder</th><th>Opgoprettet</th></tr>\" Do While Not rs.EOF Response.Write \"<tr><td>\" & rs(\"OPGID\") & \"</td>\" Response.Write \"<td>\" & rs(\"OPGNAVN\") & \"</td>\" Response.Write \"<td>\" & rs(\"AFDNAVN\") & \"</td>\" Response.Write \"<td>\" & rs(\"PROJEKTNAVN\") & \"</td>\" Response.Write \"<td>\" & rs(\"OPGLEDER\") & \"</td>\" Response.Write \"<td>\" & rs(\"OPGOPRETTET\") & \"</td></tr>\" rs.MoveNext Loop Response.Write \"</table>\" Else \' Hvis der ikke er fundet poster på søgningen Response.Write \"<p>Der er ikke fundet noget på denne søgning</p>\" End If
\' Rydder op efter os Conn.Close Set Conn = Nothing %>
<% end sub %> </body> </html> _____________________________________________
Efter man trykker søg får jeg bare en helt blank side - ingen feflmeddelelser.
Adresselinien er også ok - der står f.eks. search.asp?keyword=mig&mode=search
Min submit knap: <input type=\"submit\" name=\"mode\" value=\"Search\">
Min kode som tester på mode: if mode = \"Search\" then Result end if
Resultatet er, at jeg i adresselinien får \"search.asp?keyword=mig&mode=search
Dvs. at det ser ud som om at der ikke bliver indsat noget i mode da \"search\" er med lille \"s\" (det eneste sted det står er i toppen, hvor der spørges om mode = \"\" else ...start...)
OK, men nu har jeg i hvert fald slettet den - og visuelt hjalp det mig ikke over hovedet! Stadigvæk en blank side med \"search.asp?keyword=mig&mode=search\" i adresselinien!
Nu er jeg jo rimelig newb...!
...men kunne det være:
If Len(strKeyword) = 0 Then \' Hvis der ikke er skrevet i feltet Response.Clear Response.Redirect(\"search.asp\") Else \' Hvis der er skrevet i feltet strKeyword = Replace(strKeyword,\"\'\",\"\'\'\") End If
________________________________
\"Len\" er jo ikke defineret nogle steder? Kan det være det?
Du laver en strKeyword = Trim(Request.Form(\"Keyword\")), og dvs. at du forudsætter at din form POST\'er, men da du jo kan se URL\'en, så GET\'er den, derfor får du ikke noget data i strKeyword.
Du kan rette det ved at skrive strKeyword = Trim(Request(\"Keyword\")), for så er du sikker på, at du får fat i indholdet af det formen sender, uanset om du GET\'er eller POST\'er din form.
Det er altid en god ide excplicit at skrive hvilken metode du vil bruge i din form (jeg tror endda også at det er et krav fra w3c).
Sherlock overtog opgaven *G* ...men du er er jo også en haj! Du får pointene!! ;-D
--jowns--
PS Undskyld ventetiden!
Synes godt om
Ny brugerNybegynder
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.