IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Guzzle et paramètre en POST


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Par défaut Guzzle et paramètre en POST
    Bonjour a tous..

    je voudrait faire un requête avec Guzzle en POST pour l'ajout dans ma table..

    j'ai bien un ajout qui se fait du côte de ma BDD mais sa valeur est égale a NULL

    j'ai un formulaire et je soumet celui-ci avec comme valeur du champ dans la variable $myvar

    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $request = new \GuzzleHttp\Psr7\Request('POST', 'http://localhost/rest2/web/app_dev.php/languelivre/create'
            ,array('libelleLangue'=>$myvar));
            $promise = $client->sendAsync($request)->then(function ($response) {
                echo 'I completed form create! '. $response->getBody();
            });
    ou est mon erreur?

    merci pour votre aide..

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Sans maitriser Guzzle, je dirais qu'il faut que tu commences par vérifier si il y a bien quelque chose dans $myvar au départ et quelque chose dans le 'libelleLangue' à l'arrivée.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre éclairé
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Par défaut Test de $myvar
    Merci pour ta réaction..

    j'ai bien une valeur au départ dans $myvar..

    mais rien a l'arriver dans "libelleLangue"

    j'ai pourtant serializer la variable et converti en json..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $encoder = array(new JsonEncoder());
            $normalizer = array(new GetSetMethodNormalizer());
            $serializer = new Serializer($normalizer,$encoder);
            $json1 = $serializer->serialize(array($myvar),'json');
     
            $request = new \GuzzleHttp\Psr7\Request('POST', 'http://localhost/rest2/web/app_dev.php/languelivre/create'
            ,['json' => ['libelleLangue' => $json1]]);
            $promise = $client->sendAsync($request)->then(function ($response) {
                echo 'I completed form create! '. $response->getBody();
            });
    ..

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    - pour sérialiser en json, json_encode() suffit dans 99% des cas.
    - À partir du moment où tu indiques json dans la méthode request, tu n'as plus besoin de convertir ton tableau en json.
    - Est-ce que tu as besoin de Psr7? Parce que ceci devrait suffire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    use GuzzleHttp\Client;
    $client = new GuzzleHttp\Client(['base_uri' => 'http://localhost/rest2/web/app_dev.php/']);
     
    $response = $client->request('POST', 'languelivre/create', [
        'json' => ['libelleLangue' => $myvar]
    ]);
    Du côté de ton serveur, il faut que tu loggues dans un fichier le contenu des requêtes, de façon à ce que tu puisses vérifier si les données sont correctement reçues ou pas.

    Pour simplifier ton développement, ne fais pas 2 choses en même temps: tester le client et tester le serveur. Teste le serveur séparément d'abord, par exemple avec l'extension Postman de Chrome (ou le client REST de PHPSTorm, ou d'autres clients équivalents) qui te permettra d'envoyer une requête POST à ton serveur et de voir s'il fonctionne bien. Une fois que tu es sûr que le serveur fonctionne, tu peux ensuite tester ton client sur ton serveur 100% fonctionnel.

  5. #5
    Membre éclairé
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Par défaut Parfait
    Merci encore pour ta réaction..

    merci j'ai bien résolu le souci..

    juste avec la requête..

    je met en résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ajouter des paramètres au post avant envoi]
    Par jean-jacques varvenne dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 11/04/2006, 18h01
  2. [AJAX] Récupérer paramètre sur POST dans une servlet
    Par _beber85 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 05/04/2006, 11h52
  3. Redirection avec des paramètres en POST
    Par Kosti dans le forum Langage
    Réponses: 8
    Dernier message: 16/02/2006, 16h09
  4. [AS2.0] Passage de paramètres en post
    Par Nip dans le forum Flash
    Réponses: 1
    Dernier message: 06/01/2006, 08h38
  5. passage de paramètre en post
    Par asetti dans le forum ASP
    Réponses: 6
    Dernier message: 07/11/2005, 21h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo