Шаг 4 - или прыжок на месте

Мы продолжаем наш концерт, а заодно и рассматривать основы PHP. Сегодня начнем с внешних переменных.

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;

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

Список предопределенных констант:

Вот и все о константах и переменных. Со следующего шага займемся операторами и выражениями.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Pismenny Danil - 03.03.2000