2016-07-13 10 views
-1

Ich habe bereits das ASP-Dokument angezeigt, wenn die ID in der Datenbank gefunden wird. Es funktioniert gut. Wenn Sie jedoch ID-Nummern eingeben, die nicht in der Datenbank gefunden werden, wird das ASP-Dokument weiterhin geöffnet, anstatt eine Fehlermeldung anzuzeigen.Wie validiere ich gegen Werte in einer Datenbank, wenn die ID-Nummer im HTML-Formular eingereicht wird?

<form action="http://localhost/teg/f1.asp" method="GET"> 
<label for="name">ID NUMBER</label> 
<input type="number" id="name" name="ID" placeholder="PLEASE ENTER ID" /> 
<button type="submit">SEND</button> 
+0

Hallo, willkommen zu SO numerisch sein. Können Sie bitte Code in Ihre Frage einfügen, anstatt auf einen Screenshot davon zu verlinken? – Arjan

+0

Kannst du wenigstens deinen Code für 'f1.asp' * zeigen (benutze einen formatierten Code Block, kein Bild wie du es vorher getan hast ... siehe die Änderungen zu deiner Frage) *? – Lankymart

Antwort

0

Es wäre einfacher, diese Frage zu beantworten, wenn Sie den Code auf der Seite angezeigt, die die Form Vorlage erhält jedoch eine standardisierte Möglichkeit, dies zu tun für ein leeres Cord-Set zu überprüfen und eine bedingte Anweisung als folgt.

rssql = "select * from your_table where ID = " & Cint(Request("ID")) 
rs.Open rs_sql,conn 
If (rs.bof and rs.eof) then 
    'error message goes here 
Else 
    'code to display record goes here 
End if 

NB: conn und rs sind ADODB.Connection und ADODB.Recordset Objekte sind. Ich gehe davon aus, dass Sie wissen, was diese sind und wie sie erstellt werden.

Mit Cint in diesem Zusammenhang ist ein einfaches Mittel des Schützens gegen einen SQL-Injection-Angriff, wenn Sie wissen, dass der übermittelte Wert sollte