Когда форма отправляется в PHP-скрипт, любые переменные этой формы автоматически делаются доступными скрипту
PHP. Если опция конфигурации track_vars
включена/on, то эти переменные будут находиться в ассоциативных массивах $_POST,
$_GET и/или $_FILES, в соответствии с источником переменной в вопросе.
Когда такая форма отправляется на сервер, значение из поля ввода text будет доступно в
$_POST['username']. Если директива конфигурации register_globals
включена/on, то эта переменная будет также доступна как $username в глобальной области видимости.
Примечание: директива конфигурации magic_quotes_gpc
действует на значения Get, Post и Cookie. Если она включена, значение (It's "PHP!")
автоматически становится (It\'s \"PHP!\"). Мнемонизирование необходимо для вставки в БД. См. также
addslashes(),
stripslashes() и
magic_quotes_sybase.
PHP также понимает массивы в контексте переменных формы
(см. соответствующий faq). Вы можете,
например, сгруппировать взаимосвязанные переменные или использовать эту
возможность для запроса значений из списка множественного выбора select:
При отправке формы возможно использование изображения/image вместо
стандартной кнопки submit с помощью тэга такого вида:
<input type="image" src="image.gif" name="sub">
Когда пользователь щёлкает в каком-либо месте изображения,
соответствующая форма передаётся на сервер с двумя дополнительными
переменными: sub_x и sub_y. Они содержат координаты щелчка. Опытные
программисты могут заметить, что фактические имена переменных,
отправляемые браузером, содержат точку, а не символ подчёркивания, но PHP
конвертирует точку в символ подчёркивания автоматически.
PHP прозрачно поддерживает куки HTTP, как определено в
Netscape's Spec. Куки это механизм хранения данных на удалённом браузере и отслеживания или
идентификации с их помощью ответов пользователя. Вы можете устанавливать куки функцией
setcookie(). Куки являются частью HTTP-шапки/header, поэтому функция SetCookie обязана
вызываться до любого вывода, высылаемого браузеру. Это такое же ограничение, как и для функции
header(). Любые куки, высылаемые вам с этого клиента, автоматически конвертируются в
PHP-переменную точно так же, как и GET и POST-данные.
Если вы хотите присвоить несколько значений одной куке, просто добавьте [] в имя куки. Например:
setcookie("MyCookie[]", "Testing", time()+3600);
Обратите внимание, что эта кука/cookie замещает предыдущую куку с тем же
именем, если только path или domain не отличаются. Так,
для приложения shopping cart вы можете захотеть сохранить счётчик/counter и передать его. То есть: