Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > обработка формы


Автор: MakNik 20.5.2009, 23:40
Раньше всегда использовал такой код для обработки форм:

if ($do=="add") {
...
}

Сейчас что-то обновилось на хостинге и такой вариант не проходит, работает только так:

$do=$HTTP_POST_VARS["do"];
if ($do=="add") {
...
}

Подскажите, пожалуйста, возможно ли избежать переделки всех форм и вернуть возможность не переприсваивать значения всех переменных?

Автор: Photon 21.5.2009, 00:28
Лучше переделать, конечно..
Но если это совсем не вариант, то в корневой директории сайта создаем файл .htaccess (именно с точкой в начале) и в нем пишем:

Код

php_value register_globals 1


Если не поможет, то стоит старая версия Апача. Тогда пишем такую строчку:

Код

php_flag register_globals off


Автор: Sanchezzz 21.5.2009, 06:25
Ага и получаем полностью дрявый сайт с php_value register_globals
Переделывай все. на $_GET $_POST $_SESSION итд.
Работа нудная но того стоит.  

Автор: beShur 21.5.2009, 17:20
Цитата(Sanchezzz @  21.5.2009,  06:25 Найти цитируемый пост)
Ага и получаем полностью дрявый сайт с php_value register_globals
Переделывай все. на $_GET $_POST $_SESSION итд.
Работа нудная но того стоит.   

+1

то есть, в начале скрипта прописываешь все используемые переменные так:
Код

$var1 = $_GET['var1'];

А потом желательно ограничить возможные значения, и экранировать от вредного кода.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)