Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Создание переменной POST запросом.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Jetro
Отправлено: 03 Декабря, 2014 - 10:29:17
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Дек. 2013  


Помог: 0 раз(а)




Ковыряю несколько скриптов, которые писаны толи для PHP4, толи вообще для PHP3.
Так вот, есть там одна интересная штука - POST запрос превращается в переменную. То есть:
В файл приходит POST следующего вида - xxx=qwerty1%zzz=qwerty2, после чего в скрипте уже существуют переменные $xxx с содержимым qwerty1 и $zzz с qwerty2 внутри.
Сейчас уже подобное не работает, отключили, теперь нужно использовать $_POST[].
Так вот, меня интересует можно ли заставить работать подобную конструкцию? Переписывать все это очень долго. Подумал может включается это какой-то директивой в PHP.INI.
 
 Top
Panoptik
Отправлено: 03 Декабря, 2014 - 10:32:59
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




можно но не нужно. это не безопасно. и эта конструкция была исключена в последних версиях, называлась она register_globals
очевидно проект изжил свое и требует как минимум тщательного рефакторинга и обновления кода. включайте полный вывод ошибок в начале кода

error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);

и по полученным ошибкам а-ля notice, warning заменяйте переменные полученные с космоса на адекватно обработанные переменные из $_POST


-----
Just do it
 
 Top
Jetro
Отправлено: 03 Декабря, 2014 - 11:09:50
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Дек. 2013  


Помог: 0 раз(а)




Теперь все стало на свои места. Включал register_globals, но не заработало, подумал что это не то.
О том, что небезопасно - знаю. Заставить работать нужно только для того, чтобы разобраться как оно работает, да перенести функционал во фреймворк.
 
 Top
Jetro
Отправлено: 03 Декабря, 2014 - 13:59:20
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Дек. 2013  


Помог: 0 раз(а)




Все, проблема решена.

В .htaccess добавил:
CODE (text):
скопировать код в буфер обмена
  1. php_value auto_prepend_file "register_globals.php"


register_globals.php:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_REQUEST)) extract($_REQUEST);
  3. if (isset($_SERVER)) extract($_SERVER);
  4. if (isset($_SESSION)) extract($_SESSION);
  5. ?>

(Отредактировано автором: 03 Декабря, 2014 - 14:01:00)

 
 Top
Мелкий Супермодератор
Отправлено: 03 Декабря, 2014 - 15:59:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Куки забыли. Нынче они по-умолчанию не входят в $_REQUEST, а в глобальные переменные, на сколько знаю, писались.


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB