PHP HTTP_POST_VARS проблема - PullRequest
       31

PHP HTTP_POST_VARS проблема

4 голосов
/ 26 февраля 2009

Для начала: я разработчик C ++, который занимается созданием PHP-скрипта (для PayPal IPN).

Я был невероятно расстроен отсутствием хороших рабочих образцов из PayPal и других источников.

Последняя проблема заключается в том, что мне кажется, что я не получаю ни одного из элементов $ HTTP_POST_VARS, которые, я думаю, мне следует получить.

Некоторые поисковые запросы в Интернете показывают, что это устарело или настраивается и т. Д.

Я понятия не имею, какая версия PHP используется на моем хосте.

Кажется очевидным, что либо мои тестирующие приложения публикуются неправильно, либо скрипт не работает.

итак: 2 вопроса: - Есть ли у кого-нибудь ссылки на рабочие скрипты IPN? - Что дает с глупостью $ HTTP_POST_VARS?

РЕДАКТИРОВАТЬ

спасибо всем. Я опробую эти предложения и скоро опубликую свою историю успеха.

Ответы [ 3 ]

3 голосов
/ 26 февраля 2009

Вы можете проверить, какую версию PHP вы используете, введя phpinfo(); в блок скрипта PHP <?php ?> и посмотреть, что он выводит (или просто echo PHP_VERSION).

$HTTP_POST_VARS - это старый способ ведения дел. Вы можете использовать $_POST['post-var']. Чтобы просмотреть все опубликованные сообщения, используйте print_r($_POST).

1 голос
/ 26 февраля 2009

Как уже писал хаос, просто используйте массив $_POST вместо $HTTP_POST_VAR.
Я хотел бы упомянуть две вещи:
1. var_dump(somevar) функция очень полезна в php. Он отображает структурированную информацию о somevar. Если вы не уверены, как устроена какая-то переменная или массив или что-либо еще, просто используйте эту функцию. Так что этот вызов var_dump($_POST); покажет вам все текущие параметры POST.
2. phpinfo() функция полезна, если вам интересно, какую версию и расширения использует ваш хост. Просто создайте файл с <?php phpinfo(); ?> в нем и перейдите с помощью браузера к этому файлу. Не забудьте удалить его после этого из-за утечки безопасности.

1 голос
/ 26 февраля 2009

Первое, что нужно попробовать, это изменить $ HTTP_POST_VARS на $ _POST. Это новый механизм, и после той или иной версии $ HTTP_POST_VARS перестал быть суперглобальным.

...