PHP – это язык программирования, используемый на стороне сервера, конструкции которого вставляются HTML-текст. В отличие от обычного HTML-текста Web-страницы, программа PHP не передается браузеру, а обрабатывается интерпретатором PHP. Фрагменты HTML-текста остаются при этом без изменений, а операторы PHP выполняются и результат их обработки вставляется в HTML-текст, после чего они все вместе передаются браузеру клиента. Таким образом, для создания серьезного Web-проекта требуются два человека: дизайнер, обладающий тонким дизайнерским чутьем (работа заключается в размещении некоторого ресурса на Web-странице и в создании единого оформительского стиля), и программист, который пишет блоки программы, позволяющие оживить проект, сделать его интерактивным.
Основным недостатком HTML является то, что Web-страницы созданные с мощью HTML статичны, они мертвы и выводят всегда одну и туже информацию, хотя и в очень удобном виде. PHP позволяет убрать эту статичность.
Попробуем написать программу, в которой некоторая форма выводится несколько раз. Рассмотрим небольшой пример программы-игры, в которой я прошу игрока угадать слово.
<?php
$real_word = "bike";
if ($_GET['word'] == "")
{
print "Введите слово";
}
elseif ($_GET['word'] == $real_word)
{
print "Вы победили";
}
else
{
print "Пробуйте еще";
}
?>
<html>
<head>
<title> Охота на слово</title>
</head>
<body>
<form action="?action=submit" method = "GET" >
Я думаю, что загаданное слово: <input type="text" name="word">
<input type="submit" value="Ответ готов">
</form>
</body>
</html>
С начала у нас идет блок PHP команд, в котором мы через переменную $real_word задаем слово, которое необходимо угадать. У нас также инициализирована переменная $word, в ней хранится значение, которое вводит пользователь. Мы постоянно проверяем, идентичны ли значения этих двух переменных, в случае успеха поздравляем пользователя с победой, если нет, просим попробовать еще раз, а если пользователь забыл ввести слово, просим его выполнить эту несложную операцию. В HTML-блоке мы просто создаем форму(эта форма будет выводиться некоторое количество раз, данные, содержащиеся на ней будут при этом постоянно обновляться), в которой пользователь пробует угадать наше слово.
Обратите внимание на то, что так каку нас
отсутствует атрибут ACTION дескриптора
FORM. Это связано с тем, что у
нас обработчик формы и сама форма располагаются в одном файле.
Более корректное решение: <form action="?action=submit" method = "GET" >. Такое описание "действия" поддерживается последними версиями языка HTML.
Для простоты объяснения, под пользователем будем понимать человека, зашедшего на вашу Web-станицу, а под перенаправлением обыкновенную загрузку другого документа в браузере, без участия в этом процессе самого пользователя.
Программа из предыдущего примера имеет один существенный недостаток: форма полностью выводится на экран, независимо от того, угадал пользователь слово или нет. Из-за того, что страница в основном сделана в статичном варианте, избежать этого довольно трудно. Однако в случае успеха мы можем перенаправить пользователя на другую страницу, где он увидит текст поздравления.
Когда программа на сервере общается с клиентом, она должна сначала послать некоторые заголовки, содержащие информацию о том документе, который за ними следует. Вы можете послать свой собственный заголовок с помощью функции header();
Послав браузеру заголовок "Location", вы перенаправите пользователя на новую страницу.
Немного модифицируем пример 6.5.
<?php
$real_word = "bike";
if ($_GET['word'] == "")
{
print "Введите слово";
}
elseif ($_GET['word']= = $real_word)
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.