Мы продолжаем наш концерт, а заодно и рассматривать основы PHP. Сегодня начнем с внешних переменных.
После заполнения пользователем HTML формы PHP может получить доступ к этим данным через переменные, имеющие такие-же названия, что и поля в форме. Как всегда продемонстрирую на примере:
Значит после того, как пользователь нажмет в форме кнопку submit в php-скрипт foo.php3 методом post передадутся данные из формы, а обратиться, например к текстовому полю, из этого скрипта можно будет через переменную $name. Кроме того, можно использовать и массивы в качестве названий полей.
В результате этот скрипт array.php может вывести полученные результаты так:
Кроме этого, как известно, в форме в качестве submit-кнопки можно применять картику <input type=image src="image.gif" name="sub">. В таком случае скрипту передаются еще две дополнительные переменные, содержащие координаты точки, на которой кликнули мышкой. Это sub_x и sub_y.
В PHP реалиован также простой способ работы с куками. С помощью функции SetCookie() можно их устанавливать, получать значения, как и в случае с формами - по имени переменной. В случае, если вы ожидаете получить несколько значений от куки имеет резон использовать в качестве имени переменной - массив. Как в следующем примере:
Существует только одно небольшое ограничение. Так как куки - это часть HTTP заголовка их следует посылать самыми первыми. То есть грубо говоря, ваш скрипт должен начинаться с установки куки, а потом уже заниматься выводом html кода. Еще один пример, уже полноценного счетчика:
И тут все так же просто. Хотите узнать домашний каталог? В юникс-системах это обычно переменная окружения с именем HOME. Так узнавайте:
Вы также можете работать с переменными окружения через функции getenv() и putenv()
Вы можете использовать не только переменные, но и константы с помощью функции define(). Взгляните на следующий пример:
обратите внимание на то, что перед именем константы не пишется символ переменной $ и это правильно.
Список предопределенных констант:
Вот и все о константах и переменных. Со следующего шага займемся операторами и выражениями.
<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>
echo "Имя: ".$personal["name"];
echo "Email: ".$personal["email"];
for ($i=0;$i<sizeof($beer);$i++)
echo $beer[$i]."<br>";
HTTP Cookies
SetCookie ("MyCookie[]", "Testing", time()+3600);
$Count++;
SetCookie ("Count", $Count, time()+3600);
SetCookie ("Cart[$Count]", $item, time()+3600);
Переменные окружения
echo $HOME;
КОНСТАНТЫ
define("CONSTANT", "Hello world.");
echo CONSTANT;