Estou enviando a carga abaixo do Postman para um endpoint PHP usando um POST:
{
"email": "[email protected]",
"overwrite": true,
"fields": {
"first_name": "John Doe",
"country": "Chile",
"mrc_c3": "25.00",
"mrc_date_c3": "10/10/24"
}
}
No script PHP, tenho o código abaixo:
<?php
require_once("db.php");
$payload = json_decode(file_get_contents("php://input"), true)["payload"];
echo "this is the payload: " . $payload[];
?>
Como você pode ver acima, tentei apenas ecoar a matriz de carga útil, mas o Postman está apenas imprimindo "esta é a carga útil" e nada mais.
Como posso editar o código acima para que ele exiba a carga que enviei do Postman?
Vejo dois problemas:
Primeiro, você está referenciando uma chave de array chamada
payload
, mas não tem nenhuma chave chamada que:Provavelmente você só quer decodificar o corpo como um todo:
Então você obterá:
Segundo, usar chaves de matriz aqui é um erro de sintaxe:
Se você quiser se referir a todo o array, use
$payload
by himself. No entanto, note que você não pode usar apenasecho
um array, comoecho
é para valores escalares somente. Você pode fazer:E você obterá: