Или Прыжок на Месте
Мы продолжаем наш концерт, а за одно и рассматривать основы PHP. Сегодня начнем с внешних переменных.
🕛 13.10.2006, 16:08
HTML Формы (GET и POST)После заполнения пользователем HTML формы PHP может получить доступ к этим данным через переменные, имеющие такие-же название, что и поля в форме. Как всегда продемонстрирую на примере:
<form action="foo.php3" method="post">
Name: <input type="text" name="name">
<input type="submit">
</form>
Значит после того, как пользователь нажмет в форме кнопку submit в php-скрипт foo.php3 методом post передадутся данные из формы, а обратиться, например к текстовому полю, из этого скрипта можно будет через переменную $name. Кроме того, можно использовать и массивы в качестве названий полей.
<form action="array.php" method="post"> Name: <input type="text" name="personal[name]"> Email: <input type="text" name="personal[email]"> Beer: <select multiple name="beer[]"> <option value="warthog">Warthog <option value="guinness">Guinness </select> <input type="submit"> </form>
В результате это скрипт (array.php) может вывести полученные результаты так:
echo "Имя: ".$personal["name"];
echo "Email: ".$personal["email"];
for ($i=0;$i<sizeof($beer);$i++)
echo $beer[$i]."<br>";
Кроме этого, как известно в форме в качестве submit-кнопки можно применять картику <input type=image src="image.gif" name="sub">. В таком случаем скрипту возвращаются еще две дополнительных переменных, содержащих координаты точки, на которой кликнули мышкой. Это sub_x и sub_y.
HTTP Cookies
В PHP реалиован также простой способ работы с куками. С помоью функции SetCookie() можно их устанавливать, получать значения, как и в случае с формами - по имени переменной. В случае, если вы ожидаете получить несколько значений от куки имеет резон исопльзовать в качестве имени переменной - массив. Как в следующем примере.
SetCookie ("MyCookie[]", "Testing", time()+3600);
Существует только одно небольшое ограничение. Так-как куки - это часть HTTP заголовка их следует посылать самыми первыми. То есть грубо говоря, ваш скрипт должен начинаться с установки куки, а потом уже заниматься выводом html кода. Еще один пример, уже полноценного счетчика:
$Count++;
SetCookie ("Count", $Count, time()+3600);
SetCookie ("Cart[$Count]", $item, time()+3600);
Переменные окружения
И тут все так-же просто. Хотите узнать домашний каталог? В юникс-системах этообычно переменная окружения с именем HOME. Так узнавайте:
echo $HOME;
Вы также можете работать с переменными окружения через функции getenv() и putenv()
КОНСТАНТЫ
Вы можете использовать не только переменный но и константы с помощью функции define(). Взгляните на следующий пример:
define("CONSTANT", "Hello world.");
echo CONSTANT;
обратите внимание на то, что перед именем константы не пишется символа переменной $ и это правильно.
* Ну и напоследок список предопределенных констант. _FILE_ Имя файла выполняемого скрипта. * _LINE_ Колличество линий, инетрптетированный на данный момент в этом скрипте. * PHP_VERSION Тут хранится версия PHP. Например: '3.0.8-dev'. * PHP_OS Имя операционной системы, на которой выполняется PHP-скрипт. * TRUE Истина. * FALSE Ложь. * E_ERROR Описывает случившуюся ошибку, продолжение работы после которой невозможно. * E_WARNING Описывает ошибку, после которой продолжается выполнения скрипта. * E_PARSE Описывает синтаксическую ошибку, рпи разоре интерпретатором текста скрипта. * E_NOTICE Просто какое-то сообщения от интерпретатора. Возможно ошибка, а возможно и нет.
Вот и все о константах и переменных. Со следующего шага займемся опарторами и выражениями.