PHP 4.2.1 + Apache 2.0.36 заморочки с POST

icechel

Новичок
PHP 4.2.1 + Apache 2.0.36 заморочки с POST

Имеем PHP 4.2.1 + Apache 2.0.36. Проблема в том, что при POST теряются переменные, но иногда эти переменные есть. Как лечить ? Где грабли ?
 

Quester

Guest
Не такой уж и выход... у меня с 1.3 апачем тот же глюк, никак не могу победить. Может дело в php 4.2.1?
 

icechel

Новичок
Я попробую еще на win поставить такую-же связку. Посмотрим что будет.
 

Quester

Guest
Прикол...
все дело в register_globals=Off по дефолтам
но! самый прикол, что если включить ее, она работает только один раз... по крайней мере у меня... если тот же пхп генерит другой html код, но тоже с формой, данные опять теряются!
нафиг они это все затеяли, понять не могу...
 

icechel

Новичок
Я поставил 1.3.23 и все заработало. Естесно register_globals в On поставил. Все работает отлично. А apache2 как-то все кэширует. Могет кэш отключить как-нить ?
 

icechel

Новичок
Дык собсно я $GLOBALS и не юзал никогда. Просто по привычке. А кстати как к переменным типа HTTP_..._VARS обращаться без него register_globals ? Или Оно не влияет на это ?
 

Flying

Guest
Originally posted by icechel
Дык собсно я $GLOBALS и не юзал никогда. Просто по привычке. А кстати как к переменным типа HTTP_..._VARS обращаться без него register_globals ? Или Оно не влияет на это ?
Старые $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_SERVER_VARS и т.п. работают как обычные переменные, т.е. внутри функций к ним нужно обращаться через $GLOBALS. Новые (c 4.1.0) переменные $_GET, $_POST, $_SERVER и т.п. работают также как $GLOBALS, т.е. они видимы отовсюду.
 

Flying

Guest
Originally posted by icechel
А $_SESSION есть такая переменная ? Или ее надо через $GLOBALS доставать ?
Есть, обращаться можно напрямую, так же как и к остальным новым массивам.
 
Сверху