[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Web - программирование / ASP /

Обработка форм на ASP

Gateyev Marat

В этой статье будут рассмотрены основы обработки форм на ASP. Вначале рассмотрим случай, когда для передачи данных от формы на скрипт используется метод POST. Для удобства программные строки пронумерованы, на практике этого делать не надо. Ну-с, приступим... Имеется простейшая форма:

1   <FORM action="somescript.asp" method="post">
2   <INPUT type="text" name="login">
3   <INPUT type="password" name="password">
4   <INPUT type="submit" value="Отправить">
5   </FORM>

В результате получится вот так:

Форма имеет два поля: одно текстовое с именем "login", второе - для ввода пароля с именем "password". В таком поле текст отображается в виде "звездочек". Для обработки данных используется скрипт somescript.asp, располорженный в той же папке на сервере, где и файл формы. Скрипт для обработки на ASP может выглядеть следующим образом:

1   <!-- somescript.asp -->
2   <HTML>
3   <HEAD>
4   <TITLE>Обработка формы</TITLE>
5   <HEAD>
6   <BODY bgcolor="#FFFFFF">
7   <%
8   formLogin = Request.Form("login")
9   formPassword = Request.Form("password")
10  %>
11  </BODY>
12  </HTML>

C помощью элементов <% и %> в ASP файле ограничивается область, в которой описываются ASP-инструкции. Объект Request с помощью метода Form читает информацию из элемента формы его вызвавшей: значение поля login формы копируется в некоторую переменную formLogin, подобно работает вторая строка. Теперь сделаем так, что бы при неверном пароле или логине выдавалось соответствующее сообщение.

1   <!-- somescript.asp -->
2   <HTML>
3   <HEAD>
4   <TITLE>Обработка формы</TITLE>
5   <HEAD>
6   <BODY bgcolor="#FFFFFF">
7   <%
8   rightLogin = "petrov"
9   rightPassword = "sim-sim"
10  formLogin = Request.Form("login")
11  formPassword = Request.Form("password")
12  if (LCase(formLogin) <> LCase(rightLogin)) or_
      (formPassword <> rightPassword) then
13    Response.Write("<P>Неверный логин и(или) пароль!</P>")
14  else
15    Response.Write("<P>Все в порядке!</P>")
16  end if
17  %>
18  </BODY>
19  </HTML>

В строках 8 и 9 задаются переменные с контрольными значениями логина и пароля. Строка 12 начинает блок IF, проверяя логин и пароль, введеные на форме, с конрольными, и в случае ошибки выдает сообщение (строка 13). Здесь используется объект Response и его метод Write, который выводит в окне броузера сообщение об ошибке. Если все правильно - выводится сообщение о правильно введенных данных. Обратите внимание, что при проверке логина сравниваемые строки переводятся в нижний регистр функцией LCase. Это сделано для того, чтобы исключить влияние регистра. Для случая с паролем этого нет, так как обычно для пароль джелают чувствительным к регистру.

А что если нужно сохранить информацию с формы в файл? Рассмотрим пример скрипта, который считывает информацию из формы и сохранияет ее в файле. Например, это может быть пример страницы для отправки автору сайта какой либо информации. Итак, есть файл формы, для экономии времени рассмотрим его фрагмент, непосредственно содержащий форму. Пусть файл формы называется formproc.html. Вот он:

1   <!-- фрагмент formproc.html -->
2   <FORM action="savemess.asp" method="post">
3    Имя <BR>
4   <INPUT type="text" name="name" value="Ваше имя">
5   <BR>
6   Сообщение <BR>
7   <textarea name="message" WRAP>Ваше сообщение</textarea>
8  <BR>   
9   <INPUT type="submit" value="Отправить">
10  </FORM>

И вот что это дает:

Имя

Сообщение

ASP скрипт для обработки формы такой:

1   <!-- savemess.asp -->
2   <HTML>
3   <HEAD>
4   <TITLE>Обработка формы</TITLE>
5   <HEAD>
6   <BODY bgcolor="#FFFFFF">
7   <%
10  formName = Request.Form("name")
11  formMessage = Request.Form("message")
12  basepath = Server.MapPath("/users/Gamar/")
13  Set fs = CreateObject("Scripting.FileSystemObject")
14  Set f = fs.OpenTextFile(basepath & "store.txt", 8, True, False)
15  f.WriteLine("  ") ' пустая строка для отделения записей
16  f.WriteLine(now) ' дата
17  f.WriteLine(formName) ' имя
18  f.WriteLine(formMessage) ' сообщение
19  f.Close
20  Set fs = nothing
21  Set f  = nothing
22  %>
23 <CENTER><BIG>Ваше сообщение принято! Спасибо!</BIG></CENTER>
24 <META http-equiv="refresh" content="1; url=formproc.html">
25  </BODY>
26  </HTML>

Подробности: в строке 13 создается файловый объект, в строке 14 файл store.txt открывается для добавления записи в конец. В строках 15-18 в файл вносится новая запись. Строки 20, 21 - освобождение памяти. Для возврата к formproc.html в строке 24 содержится автопереход.

В заключении хочу остановится на методе передачи данных GET. В данном случае, как известно, информация из формы передается в строке URL. Например, если некто в предыдущей форме ввел имя "clinton", а в качестве сообщения указал "monica", но при этом метод передачи GET, а не POST, то при открытии savemess.asp URL будет таким savemess.asp?name=clinton&message=monica. Как нужно изменить ASP скрипт? Все очень просто: вместо Request.Form использовать Request.QueryString.

<% formName = Request.QueryString("name") formMessage = Request.QueryString("message") %>

На этом позвольте завершить. И программируйте на ASP!




Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Web - программирование / ASP /

RegularExpressionValidator проверка вводимых данных с помощью регулярных выражений
23-03-2010   

Элемент управления RegularExpressionValidator является очень мощным инстроментом для разработки на ASP .NET. С его помощью можно произвести проверку вводимого выражения по шаблону, заданному в регулярном выражении. Надо лишь установить нужное регулярное выражение в свойстве ValidationExpression... подробнее

Кол. просмотров: общее - 3501 сегодня - 0

Пример HTML интерфейса к БД, выполненного по технологии ASP
09-12-2009   

Вашему вниманию предлагается HTML интерфейс к телефонной базе данных, выполненный по технологии ASP. Технология активных серверных страниц появилась в 1997 году и подразумевает под собой среду исполнения задач обработки данных на стороне сервера с выдачей результатов клиенту в виде HTML кода – обычных HTML страниц. Поддерживается сервером IIS3.0 и выше... подробнее

Кол. просмотров: общее - 3759 сегодня - 0

Рецепт приготовки интернет-портала
09-12-2009   

Случается так, что клиент вашей фирмы испытывает голод. Конечно, здесь речь идет об информационном голоде. И это очень пагубно сказывается на потенции клиента: в своем взаимодействии с фирмой он становится вялым и не всегда представляет чего хочет. Наша задача, как разработчиков аппетитнейших интернет-блюд, состоит в приготовлении клиенту того, что ему так необходимо: гибкого и интерактивного веб-сервиса, приправленного множеством вкусностей... подробнее

Кол. просмотров: общее - 3741 сегодня - 0

Механизм кодирования строк URL
12-04-2009   

Часто возникает необходимость передать переменные в самой строке URL. Для этого нужно воспользоваться кодированием строки с переменными... подробнее

Кол. просмотров: общее - 3387 сегодня - 0

Модификация даты expire для cookie
12-04-2009   

Процесс создания cookies на ASP очень прост. После создания этих файлов, они будут храниться на компьютерах у посетителей вашего сайта... подробнее

Кол. просмотров: общее - 3375 сегодня - 0



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects