Получить данные POST в PHP - PullRequest
1 голос
/ 26 мая 2011

Итак, я запускаю это, чтобы получить мои данные POST:

$jsonString = file_get_contents('php://input');

Если я пойду распечатать $jsonString, я получу результаты примерно так:

Что-то = значение & OtherThing = Значение & Etc = Yougetmydrift

Теперь в прошлом я мог сделать это:

$object = json_decode($jsonString);
$something = $object->Something;
echo $something; // would print 'Value'

Но сейчас я испытываю, что это не работает. Я работаю с Android SDK, и php://input на заднем конце, похоже, ничего не возвращает. Кто-нибудь знает, почему это так?

Ответы [ 4 ]

10 голосов
/ 26 мая 2011

Я думаю, вы просто хотите:

echo $_POST["Something"];
4 голосов
/ 26 мая 2011

Вам не нужно делать file_get_contents('php://input');. PHP автоматически заполняет переменную $_POST данными постов.

echo $_POST['Something']; // Value

Кроме того, только к вашему сведению: Something=Value&OtherThing=Value&Etc=Yougetmydrift это не JSON, это строка запроса. Если вы действительно хотели разобрать его, вы должны использовать parse_str($string, $result) документы .

0 голосов
/ 26 мая 2011

стиль file_get_contents('php://input'); обычно используется для данных PUT.Для POST PHP предоставляет встроенный суперглобальный массив с именем $ _POST.

0 голосов
/ 26 мая 2011

использование: urldecode / urlencode, а не json_decode

...