среда, 4 июня 2008 г.

register_globals

Мой первый сайт на PHP я писал в стиле PHP-3, т.е. с включенным register_globals. Как это ни странно, этот сайт до сих пор работает, и даже, я смотрю, прайсы люди каждый день обновляют :)

Недавно постучался ко мне теперешний администратор сайта и спросил, почему после переноса сайта на PHP-5 у него почти все перестало работать. Конечно же потому, что в на новом хосте установлен PHP-5.2, в котором register_globals выключен, и включить его невозможно.

Конечно же, надо переписать все с использованием глобальных массивов, но я придумал такое вот быстрое решение, как запустить сайт, рассчитанный на register_globals=ON, на PHP-5.2. Надо всего лишь в начале каждого файла выполнить эти 4 строчки:
[sourcecode language='php']
foreach($_GET as $key => $value)
$$key = $value;
foreach($_POST as $key => $value)
$$key = $value;
[/sourcecode]

Комментариев нет:

Отправить комментарий