Сначала начнем с внешних переменных.

 

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;

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

Вот и все о константах и переменных.