Formularze i wejście użytkownika ASP

Polecenia Request.QueryString i Request.Form można użyć do uzyskania informacji z formularza, np. wprowadzenia użytkownika.

Przykład:

Formularz z method="get"
Jak używać polecenia Request.QueryString do interakcji z użytkownikiem.
Formularz z method="post"
Jak używać polecenia Request.Form do interakcji z użytkownikiem.
Formularz z przyciskami radio
Jak używać Request.Form do interakcji z użytkownikiem za pomocą przycisków radio.

Wprowadzenie użytkownika

Obiekt Request można użyć do uzyskania informacji użytkownika z formularza.

Przykład formularza HTML

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

Informacje wprowadzone przez użytkownika można uzyskać na dwa sposoby: Request.QueryString lub Request.Form.

Request.QueryString

Polecenie Request.QueryString służy do zbierania wartości z formularza używającego metody "get". Informacje przesyłane metodą GET są widoczne dla wszystkich użytkowników (pojawiają się w pasku adresu przeglądarki) i są ograniczone dotycząco ilości przesyłanych danych.

Przykład formularza HTML

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

Jeśli użytkownik wprowadzi "Bill" i "Gates" w powyższym przykładzie formularza, URL wysyłany do serwera będzie podobny do tego:

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

Załóżmy, że plik ASP "simpleform.asp" zawiera poniższy kod:

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

Przeglądarka wyświetli następujące:

Welcome Bill Gates

Request.Form

Polecenie Request.Form służy do zbierania wartości z formularza używającego metody "post". Informacje przesyłane metodą POST są niewidoczne dla użytkownika i nie ma ograniczeń dotyczących ilości przesyłanych danych.

Przykład formularza HTML

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

Jeśli użytkownik wprowadzi "Bill" i "Gates" w powyższym przykładzie formularza, URL wysyłany do serwera będzie podobny do tego:

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

Załóżmy, że plik ASP "simpleform.asp" zawiera poniższy kod:

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

Przeglądarka wyświetli następujące:

Welcome Bill Gates

Weryfikacja formularza

W miarę możliwości, dane wprowadzane przez użytkownika powinny być weryfikowane (przez skrypty klienta). Weryfikacja na końcu przeglądarki jest szybsza i może zmniejszyć obciążenie serwera.

Jeśli dane użytkownika będą wprowadzane do bazy danych, powinieneś rozważyć użycie walidacji serwerowej. Jednym z dobrych sposobów walidacji formularza na serwerze jest przekazanie (walidowanego) formularza z powrotem do strony formularza, zamiast przeniesienia się do innej strony. Użytkownik może następnie uzyskać informacje o błędach na tej samej stronie. W ten sposób użytkownik łatwiej zauważy błędy.