Есть сайт,
оно работало на php4, сменил хостинг теперь на php5
одно страница не работало. так как get запрос принимал с $HTTP_GET_VARS
Я его поменял $_GET и все теперь работает
но не понимаю в чем разница,
Скажите пожалуйста, где можно использовать $HTTP_GET_VARS и в чем разница между $_GET и $HTTP_GET_VARS ?
1. Давит - 01 Августа, 2011 - 20:29:29 - перейти к сообщению
2. vlom - 01 Августа, 2011 - 20:43:26 - перейти к сообщению
устаревший способ получения переменных
в современном мире лучше использовать $_GET
(Добавление)
$HTTP_GET_VARS при register_global = on
в современном мире лучше использовать $_GET
(Добавление)
$HTTP_GET_VARS при register_global = on
3. OrmaJever - 01 Августа, 2011 - 20:53:23 - перейти к сообщению
Давит пишет:
одно страница не работало. так как get запрос принимал с $HTTP_GET_VARS
Я его поменял $_GET и все теперь работает
Я его поменял $_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, следует ли регистрировать устаревшие длинные предопределенные переменные типа $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 будет существовать
(Добавление)
установите 3 php
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 как сделать?
если сделать register_global = on думаю сработает
через файл .htaccess как сделать?
9. LIME - 01 Августа, 2011 - 21:14:49 - перейти к сообщению
Давит нихера не сработает
лучше всего переписать код
или добавить в начало каждого скрипта ini_set('register_long_arrays','on');
лучше всего переписать код
или добавить в начало каждого скрипта ini_set('register_long_arrays','on');
10. White - 01 Августа, 2011 - 21:15:49 - перейти к сообщению
Давит только register_globalS
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- php_value register_globals On
- php_flag register_globals On
но это не хорошо, задумайтесь над рефакторингом кода, да и не поможет вам это, а поможет