Перейти к содержимому

Фотография

Изучаем основы PHP. Формы. Обработка средствами PHP

php программирование формы

  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 GoodX

GoodX

    Свой человек

  • Клиент Info-DVD.Ru
  • PipPipPipPipPip
  • 533 сообщений
178
Очень хороший
  • Пол:Мужчина

Отправлено 02 Сентябрь 2012 - 19:34

Теперь давайте разбираться в том, как же нам обработать уже заполненную форму файлом-обработчиком средствами PHP.

Перед тем, как перейти непосредственно к формированию кода, давайте рассмотрим немного теории. Для этого обратим сначала внимание на код сверстанной нами средствами HTML формы в прошлом уроке:

clip_image001.png

Во-первых, из атрибутов тега <form> мы можем заметить, что файлом-обработчиком для данной формы является файл form.php, расположенный в той же директории, что и просматриваемый нами в данный момент файл. Метод передачи данных – POST. Это значит, что все данные, передаваемые этой формой, будут записаны в предопределенный массив $_POST. Именно оттуда их и нужно будет «доставать». Каким образом?

Мы помним, что для доступа к тому или иному элементу массива, необходимо обратиться к нему по его ключу. Нам нужны будут данные об имени и email, которые указал пользователь. Как же узнать, по каким ключам необходимо «вылавливать» эти элементы? Вот тут-то и приходит нам на помощь атрибут name тега <input>. Не зря в прошлом занятии я писал о том, что если мы хотим, чтобы форма работала, обязательно нужно прописывать этот атрибут и присваивать ему значение! Именно значение данного атрибута и будет являться ключом в массиве $_POST для соответствующего элемента. При нажатии на кнопку «Подписаться!», браузер передаст серверу заполненные пользователем данные именно в таком виде.
Таким образом, уже сейчас мы с вами можем сделать вывод о том, что имя, введенное пользователем, содержится здесь: $_POST[‘name’], а указанный им email - здесь: $_POST[‘email’]

Для того, чтобы использовать эти данные, достаточно лишь написать любой PHP-код, и подставить их туда, где они необходимы. Чем мы сейчас с вами и займемся.

Нашей задачей было вывести введенные пользователем данные на экран. Это не правило, но лично мне элементы массива перед их использованием всегда нравится записывать в качестве значения некоторых переменных.

clip_image002.png

В коде выше вы видите очень простой алгоритм. Сначала переменным $name и $email были присвоены соответствующие значения из массива $_POST. А затем эти переменные были просто подставлены в значения выводимых на экран строчек. Сохраните файл. И при включенном Денвере попробуйте запустить форму, заполнить ее и посмотрите, как браузер выведет на экран введенные вам данные.

Как видим, все невероятно просто и быстро.

Мы могли бы закончить обсуждение этого урока, если бы не одна крайне неприятная особенность. Возможно, ваш браузер корректно отобразил все русские символы. Но лично у меня он отобразил такую кракозябру:

clip_image003.png

Проблема заключается в том, что мы забыли указать кодировку, в которой необходимо отображать файл.

Сначала, убедитесь в том, что Notepad++ создает файл в нужной кодировке. Советую не заморачиваться с этим вопросам, и в настройках программы указать, что при создании нового файла нужно всегда использовать кодировку «UTF без BOM». Заметьте, без BOM!

Делается это через настройки программы, которые находятся по пути: Опции – Настройки – Новый Документ

clip_image004.png

Чтобы проверить, в какой кодировке у вас уже создан файл, откройте его в редакторе Notepad++, и в меню выберите пункт «Кодировки». Нужная кодировка будет помечена:

clip_image005.png

В самом файле, который выводит на экран текст, всегда должна быть прописана кодировка, в которой этот текст нужно вывести.

Посмотрите, как выглядит код, соответствующий этому правилу:

clip_image006.png

Здесь добавлена всего одна строка, указывающая браузеру, в какой кодировке нужно отображать все выводимые на экран символы.

Теперь, если вы все сделали правильно, то браузер корректно выведет введенные пользователем данные в форму.

На самом деле, понимая то, как принимая данные от пользователя посредством заполнения формы, вы можете делать с этими данными все, что угодно. Например, передать их в базу данных скрипта автоматической рассылки в качестве данных нового подписчика.

Все статьи этой серии:

Сообщение отредактировал GoodX: 04 Сентябрь 2012 - 02:36

  • 0

На правах рекламы





Темы с аналогичным тегами php, программирование, формы

Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей