Register_globals - это параметр в настройках PHP-интерпретатора. У
себя на виртуальном серваке часто ставят этот параметр в положение on. Сейчас, у
некоторых хостеров этот параметр стоит в положении off.
В чём разница?
Если параметр включён (on), то передав через форму данные PHP обрабатывает их
и преобразует в глобальные переменные, и получить их можно просто, допустим
через форму мы передали поле с названием name, значит получить значение можно
через переменную $name.
Если параметр выключен, множество скриптов начинают глючить и создатель
скрипта гонит на хостинг, хотя сам он виноват. При register_globals = off
переменную переданную через форму просто получить уже нельзя. То же самое и с
куками (cookie).
Что же делать? Если мы передавали методом GET, то получить переменные можно
так: $_GET['varible']. Если методом POST: $_POST['varible']. Если хотим достать
из куков: $_COOKIE['varible'].
Есть медот прощЕ! Просто можно вначале скрипта написать пару строк:
extract($_GET);
extract($_POST);
extract($_COOKIE);
Для того, чтобы проверить это сделайте следующее (поставьте в файле php.ini
параметр register_globals = off):
<?
extract($_GET);
extract($_POST);
extract($_COOKIE);
echo $name;
?>
И передайте методом GET (http://localhost/index.php?name=me) переменную
$name. Она выведеться, потом удалите эти строки, оставте только echo $name; и
снова передайте методом GET переменную $name, она не покажется.