ASP-Formulare und Benutzerinput

Die Befehle Request.QueryString und Request.Form können verwendet werden, um Informationen von einem Formular abzurufen, wie z.B. die Eingaben des Benutzers.

Beispiel:

Formular mit method="get"
Wie man mit dem Befehl Request.QueryString mit dem Benutzer interagiert.
Formular mit method="post"
Wie man mit dem Befehl Request.Form mit dem Benutzer interagiert.
Formular mit Auswahlbuttons
Wie man mit Request.Form über Auswahlbuttons mit dem Benutzer interagiert.

Benutzer-Eingabe

Request-Objekt kann verwendet werden, um Benutzerinformationen von einem Formular abzurufen.

HTML-Formularbeispiel

<form method="get" action="simpleform.asp">
<p>Vorname: <input type="text" name="fname" /></p>
<p>Name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>

Die von den Benutzern eingegebenen Informationen können auf zwei Weisen abgerufen werden: Request.QueryString oder Request.Form.

Request.QueryString

Das Kommando Request.QueryString wird verwendet, um die Werte aus Formularen zu sammeln, die das "get"-Verfahren verwenden. Informationen, die über das "get"-Verfahren von Formularen gesendet werden, sind für alle Benutzer sichtbar (erscheinen in der Adresszeile des Browsers) und haben eine Begrenzung in Bezug auf die Menge der gesendeten Informationen.

HTML-Formularbeispiel

<form method="get" action="simpleform.asp">
<p>Vorname: <input type="text" name="fname" /></p>
<p>Name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>

Wenn der Benutzer "Bill" und "Gates" im obigen Formularfeld eingibt und an den Server sendet, ähnelt die URL dem folgenden:

http://www.codew3c.com/simpleform.asp?fname=Bill&lname=Gates

Angenommen, die ASP-Datei "simpleform.asp" enthält den folgenden Code:

<body>
Willkommen
<%
response.write(request.querystring("fname"))
response.write(" " & request.querystring("lname"))
%>
</body>

Der Browser zeigt Folgendes an:

Willkommen Bill Gates

Request.Form

Das Kommando Request.Form wird verwendet, um die Werte aus Formularen zu sammeln, die das "post"-Verfahren verwenden. Informationen, die über das "post"-Verfahren von Formularen gesendet werden, sind für den Benutzer unsichtbar und haben keine Begrenzung in Bezug auf die Menge der gesendeten Informationen.

HTML-Formularbeispiel

<form method="post" action="simpleform.asp">
<p>Vorname: <input type="text" name="fname" /></p>
<p>Name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>

Wenn der Benutzer "Bill" und "Gates" im obigen Formularfeld eingibt und an den Server sendet, ähnelt die URL dem folgenden:

http://www.codew3c.com/simpleform.asp

Angenommen, die ASP-Datei "simpleform.asp" enthält den folgenden Code:

<body>
Willkommen
<%
response.write(request.form("fname"))
response.write(" " & request.form("lname"))
%>
</body>

Der Browser zeigt Folgendes an:

Willkommen Bill Gates

Formularvalidierung

Sollte immer möglich sein, die von den Benutzern eingegebenen Daten zu validieren (durch Skripte auf dem Client). Die Validierung auf dem Client端的验证速度更快,并可以减少服务器的负载。

Wenn Benutzerdaten in eine Datenbank eingefügt werden, sollten Sie überlegene Serverseitige Validierung in Betracht ziehen. Eine gute Methode zur Validierung von Formularen auf dem Server ist es, das (geprüfte) Formular an die Formularseite zurückzuschicken, anstatt auf eine andere Seite zu leiten. Der Benutzer kann dann die Fehlermeldungen auf der gleichen Seite erhalten. Auf diese Weise kann der Benutzer Fehler leichter erkennen.