$HTTP_POST_VARS и $_POST.

Alexey(Eburg)

Новичок
$HTTP_POST_VARS и $_POST.

Всегда в своих кодах использовал массив постов как $HTTP_POST_VARS. Но тут на одном из форумов прочел, что типа этот массив устарел и надо использовать $_POST. Хотелось бы услышать профессиональное мнение насчет использования этих массивов!
 

Cid

...двинутый новичок
Разница - в том, что $_POST автоматически объявлен как суперглобальный массив, соответственно, доступен откуда угодно.

Цитирую ман:
This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. You don't need to do a global $_POST; to access it within functions or methods, as you do with $HTTP_POST_VARS.
 

Bocha

Guest
http://php.net/variables.predefined
http://faq.phpclub.ru/practice.problems.html#practice.problems.register-globals
 

Alexey(Eburg)

Новичок
Спасибо за отзывчивость, но это я и так знал!
Дело в том что иногда не срабатывает ПОСТ. Я везде использую $HTTP_POST_VARS. Раньше когда я использовал Apache1.3 (сейчас Apache2.0.50) все было ОК, а теперь иногда ОДНО И ТО ЖЕ ДЕЙСТВИЕ приводит к тому что пост либо есть либо по каким то причинам отсутствует! Так вот я задался вопросом может как-нибудь апач не так ситуацию разруливает?
 

crocodile2u

http://vbolshov.org.ru
Apache тут ни при чем. Просто в последних версиях пхп используются массивы

$_XXX вместо прежних $HTTP_XXX_VARS

; Whether or not to register the old-style input arrays, HTTP_GET_VARS
; and friends. If you're not using them, it's recommended to turn them off,
; for performance reasons.
register_long_arrays = Off

Это - из php.ini (php5)
 

Alexey(Eburg)

Новичок
У меня php4.3.8. Там я такого не нахожу!

-~{}~ 25.08.04 14:58:

Как то не хочется весь код перелапачивать!!! Блин!
 

Фанат

oncle terrible
Команда форума
а теперь иногда ОДНО И ТО ЖЕ ДЕЙСТВИЕ приводит к тому что пост либо есть либо по каким то причинам отсутствует
У тебя галлюцинации.
может как-нибудь апач не так ситуацию разруливает?
Возможно. Второй апач вообще с пхп несовместим.
 

Alexey(Eburg)

Новичок
Один говорит, что Апач ни при чем, другой говорит, что он вообще с пхп несовместим (ХА! А как тогда у меня система работает?)! Вобщем истина в количестве разных мнений, но она мне никак не помогает! Пойду еще пороюсь в Мане!
 

Фанат

oncle terrible
Команда форума
Вот это правильное решение.
вот и почитай там о совместимости пхп и второго апача.

А как тогда у меня система работает?)!
ОДНО И ТО ЖЕ ДЕЙСТВИЕ приводит к тому что пост либо есть либо по каким то причинам отсутствует
Ты уж определись, мил человек.
Такое поведение работой не назовешь.

-~{}~ 25.08.04 15:36:

crocodile2u, тебе замечание за невнимательность

-~{}~ 25.08.04 15:38:

Alexey(Eburg)
Я смотрю, тебя здесь опускают?
И как тебе, опущенному, живется?
 

Alexey(Eburg)

Новичок
2Фанат! Так я и сам догадался, что хреново работает вот и обращаюсь к людям на форум чтобы узнать в чем корень зла!
2Astral Man. Перед тем как ставить первый апач я хотел разобраться в чем же проблема! Во многих манах написано, что апач2 не рекомендуется с пхп, но я уже полгода как юзаю этот вариант! Правда все это время и мучаюсь. Может как-нить без перестановки апача можно обойтись?

-~{}~ 25.08.04 15:41:

2Фанат. Оставь свои никому не нужные реплики при себе!
 

Фанат

oncle terrible
Команда форума
Не понял.
С какой стати?
почему ты можешь оставлять никому ненужные реплики, а я не могу?
Не мог бы ты пояснить такую дискриминацию?
 

crocodile2u

http://vbolshov.org.ru
2Фанат: Да, второй апач я как-то не приметил... Однако, хотя я не пользовался им, не думаю, что дело настолько плохо, что апач2 херит глобальные массивы пхп.

Теперь совет:
для твоей проблемы первое, что нужно сделать, это провести дебаггинг. в данном случае просто в скрипте напиши

var_dump($HTTP_POST_VARS);

var_dump($_POST);

результаты на бочку
 

StUV

Rotaredom
Как то не хочется весь код перелапачивать!!! Блин!
если не можешь написать скрипт, который бы автоматом провел все замены - сделай [m]auto_prepend_file[/m] и вставь туда что-нить вроде:
if (isset($_xxx))
$HTTP_xxx_VARS = $_xxx;
 

Фанат

oncle terrible
Команда форума
crocodile2u тебе замечание, за невнимательность.
Апач не херит глобальныемассивы.
он просто работает НЕСТАБИЛЬНО.
то данные обрезаются. то страница обрывается.
То - как здесь описано - массив пропадает. Не отключен! Не отсутствует! А ВРЕМЕНАМИ пропадает. Если верить описанию, конечно.
Для вас с этим пассажиром существует только два состояния - черное и белое. Херит и работает.
Существование промежуточных вариантов, похоже, вам осмыслить не дано

-~{}~ 25.08.04 16:13:

Alexey(Eburg)
То есть, ты считаешь, что на этом форкме неправильные правила?
А что ты здесь тогда вообще делаешь. если тебе правила не нравятся?
Человек нарушил правила, ему об этом сказали. Ты считаешь это опусканием?
 

Alexey(Eburg)

Новичок
Все ОК!
Но я же говорил что это проявляется не на всех машинах и не каждый раз! Как поймать ошибку не знаю!

var_dump($HTTP_POST_VARS);

array(3) { ["e_mail_man"]=> string(19) "[email protected]" ["comments"]=> string(18) "Штраф по заявке 0%" ["sendm"]=> string(9) "Отправить" }

var_dump($_POST);
array(3) { ["e_mail_man"]=> string(19) "[email protected]" ["comments"]=> string(18) "Штраф по заявке 0%" ["sendm"]=> string(9) "Отправить" }
 

crocodile2u

http://vbolshov.org.ru
Спасибо за информацию. Вообще-то, по-моему, недавно тони2001 давал кому-то ссылку как раз на поведение апач2 и/или связки апач2-пхп. Пойду поищу - надо почитать, чтоб не тупить.

ЗЫ: это я фанату...

-~{}~ 25.08.04 16:39:

Немного почитал, честно говоря, галопом по европам.

Алексей-ебург, возможно, тебе будет интересен главный вывод, кот. я сделал, и на который более чем прозрачно намекал Фанат: связку апач2-пхп использовать не надо. Поддержки такой связки пока нет даже в планах разработчиков пхп. Конкретных примеров неполадок много не нашел (да и не искал особо), но, как я понял, ожидать можно практически чего угодно.
 

Alexey(Eburg)

Новичок
crocodile2u
Спасибо хоть на этом!

-~{}~ 25.08.04 16:50:

Не зашлешь ссылку которую читал!

-~{}~ 25.08.04 16:52:

Всем спасибо! Тему считаю заврытой!
 

Dallas

Guest
Отзыв новичка:
до недавнего времени использовал на локальной машине Apache 2.0.49, PHP 4.3.7, MySQL 3.x.x-4.0.15 (на ХР, 2003 server) - проблем никаких замечено не было. Хотя, как уже было замечено, использование былона уровне новичка, проблему просто мог и не заметить.
 
Сверху