1
votes

J'essaie d'envoyer des données via le facteur mais la méthode de publication n'envoie rien

$ _POST, méthode Ne renvoie aucune donnée du facteur.

//print_r($POST['Mobile']); (Prints nothing)

if($_SERVER['REQUEST_METHOD']=='POST'){

$response = array();

print_r($_POST['Mobile']);

if ($db->updateCart(
    $_POST['CartData'],
    $_POST['Mobile']
    )) {
    $response['error'] = false;
    $response['message'] = "positive";
}else{
    $response['error'] = true;
    $response['message'] = "Negative";
}

echo json_encode($response);

}

J'ai essayé d'imprimer "quelque chose" dans le print_r et cela fonctionne très bien. Quelqu'un peut-il s'il vous plaît dire où je me trompe.

Voici l'image du facteur que j'essaie d'envoyer.

 entrez la description de l'image ici p >


0 commentaires

3 Réponses :


1
votes

utilisez ce qui suit pour recevoir les données

$data = json_decode(file_get_contents('php://input'), true);
print_r($data);


0 commentaires

2
votes

Au lieu d'utiliser l'onglet Paramètres , essayez d'accéder à Corps et de sélectionner form-data , puis de saisir vos paires clé / valeur.

Je ne pense pas que cela ait quoi que ce soit à voir avec PHP. Le problème semble être que l'onglet Paramètres envoie vos données sous forme de paramètres GET plutôt que de données POST . Je parie que si vous print_r ($ _ GET) vous verrez les données que vous vous attendiez à voir dans $_POST .

Modifier: en utilisant à la fois les paramètres et le corps

Il est possible de passer des paramètres aux deux endroits. Considérez:

<?php
/* index.php */
print_r([
  '$_GET' => $_GET,
  '$_POST' => $_POST,
]);

Et dans Postman, faites simplement ceci:

 entrez la description de l'image ici

Notez que les variables dans Params sont dans la chaîne de requête.


1 commentaires

Que faire si je veux utiliser Params parce que j'essaie d'envoyer des données depuis une application Android qui utilise des paramètres. y a-t-il de toute façon?



0
votes

Les champs de publication doivent être envoyés via le corps de la requête, pas via la chaîne de requête (lorsque vous pouvez vous attendre à les recevoir via get request). Dans postman, passez à l'onglet corps, sélectionnez le format brut et le type de contenu JSON, et placez-le dans le corps:

{

"CartData" : "some data", 
"Mobile" : "123456789"

 }


0 commentaires