Я не могу прочитать мой объект запроса POST HTTP с PHP!
Я никогда не использовал PHP, но прямо сейчас мне нужно написать файл PHP, который отображает в файле журнала содержимое тела HTTP-запроса POST.
Я читал, что вы можете обращаться к переменным тела через массив _POST.
К сожалению, он кажется пустым, хотя я уверен, что в моем HTTP-запросе есть вещи!
Что я должен использовать, чтобы быть уверенным на 100% содержимого моего тела HTTP?
Спасибо.
Ответы
Ответ 1
$post_body = file_get_contents('php://input');
php://input
позволяет вам считывать необработанные данные POST. Это менее энергоемкая альтернатива $HTTP_RAW_POST_DATA
и не нуждается в каких-либо специальных директивах php.ini. php://input
недоступен с enctype = "multipart/form-data".
(Источник: http://php.net/wrappers.php)
Ответ 2
Проверьте это:
http://www.daniweb.com/code/snippet216846.html
Ответ 3
Глобальная переменная $_POST
, а не _POST
. Также возможно, что вы отправляете данные с помощью метода GET
, и в этом случае вам нужно использовать глобальную переменную $_GET
.
Если вы хотите проверить метод POST
или GET
, вы можете использовать глобальную переменную $_REQUEST
. Пример кода ниже:
<html>
<body>
<form method="POST" action="postdata.php">
<input type="text" name="mydata" />
<input type="submit">
</form>
</body>
</html>
файл postdata.php:
<?php
$result = $_POST['mydata'];
echo $result;
Ответ 4
Может быть, вы напутали его. Правильное имя массива $_POST
.
Попробуйте это
<?php
var_dump($_POST);
и посмотрим, что произойдет.