PHP / 8. Основы Web

Возможно, именно веб-программирование является причиной вашего интереса к этой книге. Потребность в специальном языке веб-программирования и послужила причиной написания первой версии PHP и обусловливает растущую популярность этого языка сегодня. На PHP легко писать динамические веб-программы, которые могут выполнять практически любые необходимые операции. Другие главы этой книги посвящены различным возможностям PHP, таким как графика, регулярные выражения, доступ к базам данных и файловый ввод/вывод. Все эти возможности – часть веб-программирования, но предметом этой главы являются специфические для Сети концепции. Рассмотренные здесь темы сделают ваше веб-программирование более строгим и надежным.
Статьи раздела '8. Основы Web':
Аутентификация, основанная на cookies
Задача Необходим больший контроль над процедурой авторизации пользователя, например разработка вашей собственной формы авторизации. Решение Сохраните статус аутентификации в cookie или сеансе. В случае успешной регистрации по...
Буферизация вывода в броузер
Задача Необходимо начать генерацию вывода раньше, чем закончится пересылка заголовков или cookies. Решение Вызовите функцию ob_start() в начале вашей страницы и функцию ob_end_flush() в конце страницы. Кроме того, можно помен...
Взаимодействие в рамках Apache
Задача Необходимо взаимодействовать из PHP с другими частями процесса Apache, обрабатывающего запрос. Это включает установку переменных в файле access_log. Решение Это делается при помощи функции apache_note(): // получаем...
Идентификация различных броузеров
Задача Необходимо сгенерировать содержимое, основанное на возможностях броузера пользователя. Решение Характеристики броузера можно определить с помощью объекта, возвращенного функцией get_browser(): $browser = get_browser...
Настройка обработки ошибок
Задача Необходимо изменить уровень регистрации ошибок на определенной странице. Это позволяет управлять типом отображаемых ошибок. Решение Типы ошибок, на которые будет реагировать PHP, настраиваются с помощью функции error_r...
Отслеживание сеанса работы с сайтом
Задача Необходимо сохранять информацию о пользователе во время его путешествия по сайту. Решение Для этого предназначен модуль сеанса. Функция session_start() инициализирует сеанс, а заведение элемента в глобальном массиве $_...
Передача выходной информации в броузер
Задача Необходимо немедленно послать выходную информацию в броузер. Например, если вы хотите сообщить пользователю о выполнении медленного запроса к базе данных. Решение Это делается при помощи функции flush(): print 'Find...
Перенаправление по другому адресу
Задача Необходимо автоматически направить пользователя по новому URL. Например, требуется после успешной записи информации из формы перенаправить пользователя на страницу подтверждения данных. Решение Прежде чем сделать какой...
Применение базовой аутентификации HTTP
Задача Необходимо использовать PHP для защиты разделов веб-сайта с помощью паролей. Вместо того чтобы хранить пароли во внешнем файле и возлагать на сервер функции проверки регистрационной информации пользователей, надо реализова...
Применение пользовательского обработчика ошибок
Задача Необходимо создать пользовательский обработчик ошибок, позволяющий управлять уровнем сообщений PHP об ошибках. Решение Для установки собственной функции обработки ошибок применяется функция set_error_handler(): set_er...
Программа: (Де)активатор учетной записи на веб-сайте
Не лишним бывает знать, что пользователи, зарегистрировавшиеся на сайте, предоставили корректный адрес электронной почты. Для проверки правильности адреса электронной почты пошлите письмо по адресу, указанному при регистрации. Есл...
Программа: Контролер злоумышленных пользователей
Скорость работы разделяемой памяти делает ее идеальным выбором для хранения данных, к которым необходим частый доступ со стороны различных процессов веб-сервера, когда файлы или база данных работают слишком медленно. В примере 8.7...
Профилирование программы
Задача Есть фрагмент программы, и необходимо провести его исследование, чтобы определить время выполнения каждого оператора. Решение Для этого предназначен модуль PEAR Benchmark: require 'Benchmark/Timer.php'; $timer =& n...
Регистрация отладочной информации
Задача Необходимо упростить отладку путем добавления в сценарий операторов вывода значений переменных. Но при этом требуется, чтобы была возможность легко переключаться между режимами выполнения и отладки. Решение Параметр ко...
Регистрация ошибок
Задача Необходимо записывать ошибки программы в журнал. Эти ошибки могут включать все – от синтаксических ошибок и ненайденных файлов до некорректных запросов в базу данных и потерянных соединений. Решение Для записи в журнал...
Сжатие веб-вывода с помощью gzip
Задача Необходимо посылать сжатую информацию в броузер, поддерживающий автоматическую декомпрессию. Решение Добавьте следующую настройку в ваш файл php.ini: zlib.output_compression=1 Обсуждение Броузеры сообщают сервер...
Сокрытие от пользователей сообщений об ошибках
Задача Необходимо скрыть от пользователей сообщения PHP об ошибках. Решение Установите следующие значения в вашем файле php.ini или в конфигурационном файле веб-сервера: display_errors =off log_errors =on Руководствуяс...
Удаление cookies
Задача Необходимо удалить cookie, так чтобы броузер не посылал его обратно серверу. Решение Вызовите функцию setcookie() с пустым значением для cookie и с временем истечения срока действия, соответствующим моменту времени в п...
Установка cookies
Задача Необходимо установить cookie. Решение Это делается с помощью функции setcookie(): setcookie('flavor','chocolate chip'); Обсуждение Cookies посылаются вместе с HTTP-заголовками, поэтому функцию setcookie() необхо...
Установка конфигурационных переменных
Задача Необходимо изменить значение параметра конфигурации PHP. Решение Это можно сделать с помощью функции ini_set(): // добавляем каталог к пути поиска подключаемых файлов ini_set('include_path', ini_get('include_path')...

Страницы: 1 2