Подтвердить что ты не робот

Я не могу прочитать мой объект запроса POST HTTP с PHP!

Я никогда не использовал PHP, но прямо сейчас мне нужно написать файл PHP, который отображает в файле журнала содержимое тела HTTP-запроса POST.

Я читал, что вы можете обращаться к переменным тела через массив _POST. К сожалению, он кажется пустым, хотя я уверен, что в моем HTTP-запросе есть вещи!

Что я должен использовать, чтобы быть уверенным на 100% содержимого моего тела HTTP?

Спасибо.

4b9b3361

Ответ 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)

Ответ 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);

и посмотрим, что произойдет.