Формы и ввод пользователей ASP

Команды Request.QueryString и Request.Form можно использовать для получения информации из формы, например, ввода пользователя.

Пример:

Форма с использованием method="get"
Как использовать команду Request.QueryString для взаимодействия с пользователем.
Форма с использованием method="post"
Как использовать команду Request.Form для взаимодействия с пользователем.
Форма с использованием радиокнопок
Как использовать Request.Form для взаимодействия с пользователем через радиокнопки.

Ввод пользователя

Объект Request можно использовать для получения информации пользователя из формы.

Пример HTML-формы

<form method="get" action="simpleform.asp">
<p>Имя: <input type="text" name="fname" /></p>
<p>Фамилия: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>

Информация, введенная пользователем, может быть получена двумя способами: Request.QueryString или Request.Form.

Request.QueryString

Команда Request.QueryString используется для сбора значений из формы, отправленной методом "get". Информация, передаваемая из формы методом GET, видна всем пользователям (появляется в адресной строке браузера) и имеет ограничения по объему.

Пример HTML-формы

<form method="get" action="simpleform.asp"
<p>Имя: <input type="text" name="fname" /></p>
<p>Фамилия: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>

Если пользователь вводит "Bill" и "Gates" в приведенном выше примере формы, URL, отправляемый на сервер, будет выглядеть примерно так:

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

Предположим, что ASP-файл "simpleform.asp" содержит следующий код:

<body>
Добро пожаловать
<%
response.write(request.querystring("fname"))
response.write(" " & request.querystring("lname"))
%>
</body>

Браузер будет отображать следующее:

Добро пожаловать, Билл Гейтс

Request.Form

Команда Request.Form используется для сбора значений из формы, отправленной методом "post". Информация, передаваемая из формы методом POST, не видна пользователю и не имеет ограничений по объему.

Пример HTML-формы

<form method="post" action="simpleform.asp"
<p>Имя: <input type="text" name="fname" /></p>
<p>Фамилия: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>

Если пользователь вводит "Bill" и "Gates" в приведенном выше примере формы, URL, отправляемый на сервер, будет выглядеть примерно так:

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

Предположим, что ASP-файл "simpleform.asp" содержит следующий код:

<body>
Добро пожаловать
<%
response.write(request.form("fname"))
response.write(" " & request.form("lname"))
%>
</body>

Браузер будет отображать следующее:

Добро пожаловать, Билл Гейтс

Валидация форм

Если это возможно, данные ввода пользователя должны быть проверены (через скрипты клиента). Валидация на стороне клиента быстрее и может уменьшить нагрузку на сервер.

Если пользовательские данные будут вводиться в базу данных, вам следует подумать о использовании серверной валидации. Один из хороших способов валидации форм на сервере - это вернуть (проверенный) формуляр на страницу формы, а не перенаправлять на другую страницу. Пользователь затем может получить информацию об ошибках на той же странице. Таким образом, пользователи могут легче обнаружить ошибки.