Итак, мы вплотную приближаемся к тому, чтобы с помощью языка PHP научиться обрабатывать формы. Формы обратной связи, формы голосования, заполнение данных о пользователе, создание и редактирование новых статей на блоге или обычном сайте – все это дает возможность обычному пользователю, который ничего не понимает в программировании, взаимодействовать с интернетом. Благодаря формам, посетители интернета являются не просто читателями, но и создателями уникального контента. Они могут взаимодействовать с сайтом, изменяя его в лучшую сторону, либо получая на нем больше возможностей.
Благодаря чему вообще возможна работа с формами?
Во многом благодаря существованию протокола передачи данных HTTP. Это тоже язык. Но нам совсем необязательно знать его, чтобы пользоваться. Потому как современные браузеры умеют автоматически формировать HTTP-запросы и принимать информацию, использую этот язык.
Нас интересует сейчас только одно: это два вида запросов:
1. GET
2. POST
Не будем вдаваться в глубокие подробности. Остановимся на простом, можно сказать, детском объяснении.
GET-запросы применяются для получения информации (чтения страницы сайта, например). А POST-запросы используются для публикации своей информации на сайтах либо просто для отправки этой информации владельцу сайта.
В этой статье подробней остановимся на GET-запросах. В следующей статье рассмотрим работу с POST-запросами на примере обработки HTML-форм.
GET-запросы формируются путем «приклеивания» к URL-адресу запрашиваемой страницы некоторых параметров. Наверное, все посетители этого форума представляют себе, что такое реферальная ссылка.
Сегодня реферальные ссылки выглядят по-разному. Но чаще всего мы видим следующий прием организации партнерских ссылок. Допустим, мы имеем домен mydomen.ru. Партнерская ссылка для этого домена может быть следующей:
http://mydomen.ru?ref=goodx
Для чего это нужно? Специальный PHP-код, встроенный в исходный файл страницы, благодаря переданным параметрам, стоящим после знака вопроса, может определить, от какого партнера пришел посетитель.
На самом деле c помощью GET-запроса можно организовать не только партнерские ссылки. Здесь кроется много возможностей. Например, вы можете создать страницу, которая в зависимости от переданных GET-параметров будет показывать либо уменьшенные копии всех изображений, либо выбранное пользователем изображение.
Выполните следующие инструкции:
1. В корне вашего сайта (помните: в папке WebSerwers-home-имя сайта-www) поместите 3 файла изображений в формате jpg.
2. Присвойте изображениям имена: 1.jpg, 2.jpg, 3.jpg
3. Файл index.php должен содержать следующий код:
Если зайти на полученную страницу через браузер, то она отобразит сначала две ссылки на изображения. Если же нажать на одну из ссылок, то на странице отобразится само изображение.
Попробуйте сами разобраться в логике этого скрипта: как и почему он работает. Знаний для этого у вас уже достаточно, если конечно вы внимательно изучили все предыдущие уроки.
Единственное, что вам здесь незнакомо – это ключевое слово isset. Оно применяется здесь для того, чтобы проверить, существует ли элемент id в массиве $_GET.
Еще одна особенность – это обратный слеш перед кавычками в значениях атрибутов тегов. Всякий раз, когда вы пытаетесь вывести HTML-код на экран с помощью оператора echo, ставьте обратный слеш перед теми кавычками, которые должны присутствовать в HTML-коде. Помните, что без слеша эти кавычки будут обработаны интерпретатором, как конец строки. В итоге ваш код просто не будет работать.
После того, как разобрались, попробуйте выполнить следующее задание: сделайте так, чтобы вместо ссылок при первом открытии документа, отображались превью картинок, а при нажатии на любое превью появлялось само изображение в полном размере. Все это должно быть организовано в одном файле.
Итак, дерзайте! PHP-программистами становятся не те, кто хорошо знает этот язык, а те, кто умеет пользоваться им для решения поставленных задач. Задача есть. Выполняйте!
А в следующем уроке мы с вами научимся обрабатывать данные формы.
Все статьи этой серии:
- Вступление. Необходимый инструментарий. Первый скрипт
- Базовый синтаксист. Оператор echo
- Переменная. Константы
- Типы данных
- Операторы. Операции
- Ветвления
- Функции
- Область видимости переменных и время их жизни
- Циклы
- Массивы
- Предопределенные массивы. Функции для работы с массивами
- HTTP-запросы
- Формы. Работа с HTML-кодом
- Формы. Обработка средствами PHP
- Базы данных. SQL-запросы
- Базы данных. Работа с SQL средствами PHP
- Защита от SQL-инъекций
- Продолжение следует
Сообщение отредактировал GoodX: 04 Сентябрь 2012 - 02:35