PHP не видит POST переменных (хотя в Etherneal видно что они есть )

dima-u

Новичок
PHP не видит POST переменных (хотя в Etherneal видно что они есть )

В связи с этим вопрос: какой ф-ией PHP можно просмотреть весь запрос, посланный клиентом (все тело запроса)?
 

dima-u

Новичок
Запросы доставляются до сервера методом POST. Значение HTTP заголовка “Content-Type” должно быть равно “application/x-www-form-urlencoded”. Заголовок “Content-Length” должен содержать верное значение.

Это не я их передаю, их передает терминал Cyberplat, в Access.Log все нормально, статус 200.
 

tony2001

TeaM PHPClub
сформируй рабочий запрос руками, удостоверься в том, что он работает и после этого сравни его с тем, что тебе приходит.
 

dima-u

Новичок
Рабочий запрос формировал - работает.
Как сравнивать - не знаю.

-~{}~ 08.06.07 15:45:

В связи с данной проблемой и вопрос обстоит так:
"какой ф-ией PHP можно просмотреть все тело запроса, посланного клиентом?"

-~{}~ 08.06.07 17:48:

Помог себе сам:
http://fijiwebdesign.com/content/view/90/77/
 

dima-u

Новичок
В чем проблема не знаю, но с помощью нехитрых операций можно получить доступ ко всему телу запроса, и таким образом выцепить необходимые данные, несмотря на то, что post переменные так и не определяются.
 

oracloid

совсем кукус
у вас какая версия пхп?
часом не 5.2?
там ошибка, исправляется так:
PHP:
if (empty($GLOBALS['HTTP_RAW_POST_DATA'])) $GLOBALS['HTTP_RAW_POST_DATA'] = file_get_contents("php://input");
после этого массив $_POST будет содержать данные как обычно.
 

crocodile2u

http://vbolshov.org.ru
Это что за интересная ошибка? Я ее никогда не видел. Нельзя ли подробнее?
 

oracloid

совсем кукус
Найч, вы правы, прошу прощения.

crocodile2u, http://bugs.php.net/bug.php?id=41293

-~{}~ 09.06.07 14:49:

опоздал...
 

crocodile2u

http://vbolshov.org.ru
Интересно :)
Дело в том, что я обычно ставлю новый релиз, когда он появляется, а вот именно 5.2.2 решил пропустить - посмотрел ченджлог и забил.. поставил сразу 5.2.3, ибо там что-то насчет filter_* пофиксили :)
 

SiMM

Новичок
> там ошибка, исправляется так:
> if (empty($GLOBALS['HTTP_RAW_POST_DATA'])) $GLOBALS['HTTP_RAW_POST_DATA'] = file_get_contents("php://input");
> после этого массив $_POST будет содержать данные как обычно.

Что-то я не понял юмора - разве массив $_POST формируется не ДО исполнения скриптов?
 
Сверху