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
Форумы портала PHP.SU :: Версия для печати :: в чем разница между $_GET и $HTTP_GET_VARS ?
Форумы портала PHP.SU » » Вопросы новичков » в чем разница между $_GET и $HTTP_GET_VARS ?

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

1. Давит - 01 Августа, 2011 - 20:29:29 - перейти к сообщению
Есть сайт,
оно работало на php4, сменил хостинг теперь на php5

одно страница не работало. так как get запрос принимал с $HTTP_GET_VARS
Я его поменял $_GET и все теперь работает

но не понимаю в чем разница,
Скажите пожалуйста, где можно использовать $HTTP_GET_VARS и в чем разница между $_GET и $HTTP_GET_VARS ?
2. vlom - 01 Августа, 2011 - 20:43:26 - перейти к сообщению
устаревший способ получения переменных
в современном мире лучше использовать $_GET
(Добавление)
$HTTP_GET_VARS при register_global = on
3. OrmaJever - 01 Августа, 2011 - 20:53:23 - перейти к сообщению
Давит пишет:
одно страница не работало. так как get запрос принимал с $HTTP_GET_VARS
Я его поменял $_GET и все теперь работает

Ну вот и разница, в php5 сократили название масива и старый теперь может не работать.
4. LIME - 01 Августа, 2011 - 20:56:36 - перейти к сообщению
vlom при включенном register globals вообще можно обращаться не по массиву а по имени переменной
то есть все элементы стандартных массивов становятся одноименными глобальными переменными
5. Давит - 01 Августа, 2011 - 21:00:17 - перейти к сообщению
хочу сделать register_global = on
но не знаю как?
6. LIME - 01 Августа, 2011 - 21:02:13 - перейти к сообщению
Давит пишет:
хочу сделать register_global = on
не сметь ))
это не то
Цитата:
register_long_arrays boolean

Сообщает PHP, следует ли регистрировать устаревшие длинные предопределенные переменные типа $HTTP_*_VARS. Если включены (по умолчанию), длинные предопределенные переменные PHP, например $HTTP_GET_VARS, будут объявлены. Если вы их не используете, рекомендуем отключить их из соображений производительности. Вместо них следует использовать суперглобальные массивы, например $_GET.


Эта директива стала доступна начиная с версии PHP 5.0.0.

поищите эту директиву в php.ini
7. White - 01 Августа, 2011 - 21:02:37 - перейти к сообщению
при чем не просто лучше, в php 6 по словам разработчиков например суперглобальные массивы HTTP_*_VARS вызовут критическую ошибку.
vlom при register_globals = on, $id = $HTTP_GET_VARS['id'] = $_GET['id'], а при off, $HTTP_GET_VARS['id'] = $_GET['id'], $id - неизвестен, но суперглобальный $HTTP_GET_VARS будет существовать
(Добавление)
Давит пишет:
хочу сделать register_global = on

установите 3 php Подмигивание
8. Давит - 01 Августа, 2011 - 21:09:38 - перейти к сообщению
Сайт старый сайт, админ раздел тоже не работает,
если сделать register_global = on думаю сработает


через файл .htaccess как сделать?
9. LIME - 01 Августа, 2011 - 21:14:49 - перейти к сообщению
Давит нихера не сработает
лучше всего переписать код
или добавить в начало каждого скрипта ini_set('register_long_arrays','on');
10. White - 01 Августа, 2011 - 21:15:49 - перейти к сообщению
Давит только register_globalS
CODE (htmlphp):
скопировать код в буфер обмена
  1. php_value register_globals On
  2. php_flag register_globals On

но это не хорошо, задумайтесь над рефакторингом кода, да и не поможет вам это, а поможет
CODE (htmlphp):
скопировать код в буфер обмена
  1. php_value register_long_arrays On
11. Давит - 01 Августа, 2011 - 21:19:09 - перейти к сообщению
Спасибо,
мне нужно оно работало, потом разбирус по тихонько Улыбка
12. LIME - 01 Августа, 2011 - 21:20:13 - перейти к сообщению
iniset с этой опцией не работает извините
13. White - 01 Августа, 2011 - 21:33:55 - перейти к сообщению
LIME просто все суперглобальные массивы предопределяются движком php в момент запуска скрипта, и перед его выполнением
Давит Спасибо здесь неуместно, register_globals это зло
14. LIME - 01 Августа, 2011 - 21:36:42 - перейти к сообщению
White спасибо я так и думал )
15. Давит - 01 Августа, 2011 - 21:52:43 - перейти к сообщению
не получается
Везде написано $HTTP_GET_VARS как сделать чтобы оно работало?


php_value register_globals On
php_flag register_globals On
не помог

 

Powered by ExBB FM 1.0 RC1