Я никогда не использовал PHP, но прямо сейчас мне нужно написать файл PHP, который отображает в файле журнала содержимое тела запроса POST HTTP.
Я прочитал, что вы можете обращаться к переменным тела через массив _POST. К сожалению, он кажется пустым, хотя я уверен, что в теле моего HTTP-запроса есть вещи!
Что я должен использовать, чтобы быть на 100% уверенным в содержании моего тела HTTP?
Благодарю.
$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 )
Проверьте это: http://www.daniweb.com/code/snippet216846.html
Глобальная переменная равна $_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>
file postdata.php :
<?php $result = $_POST['mydata']; echo $result;
Может быть, вы ошиблись. Правильное имя массива $_POST
.
Попробуй это
<?php var_dump($_POST);
и посмотреть, что произойдет.