Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question ISSET avec des paramètres

Sujet résolu
    15 septembre 2020 à 18:16:11

    Bonjour,

    Je tombe sur un truc que je n'avais jamais vu dans un nouveau projet :

    Je récupère un formulaire d'un prestataire et j'ai un champ qui me pose soucis.

    Je recois donc un input comme ceci :

    <input type="hidden" name="Client[Phone]" value="01020300405" />

    Les autres champs pas de problème pour mes ISSET mais là, ça ne fonctionne pas. Je n'arrive pas à l'affecter à une variable dans mon ISSET :

    if ((isset($_POST['Client[Phone]'])) && !empty($_POST['Client[Phone]'])) { $ClientPhone = $_POST['Client[Phone]']; }

    Merci d'avance pour l'explication.

    • Partager sur Facebook
    • Partager sur Twitter
    Scots
      15 septembre 2020 à 18:46:37

      C'est $_POST['Client']['Phone'], pas $_POST['Client[Phone]'] => fais un var_dump !

      PS : ça ne sert à rien de faire un isset puis un !empty, le premier étant inclus dans le second.

      -
      Edité par julp 15 septembre 2020 à 18:47:17

      • Partager sur Facebook
      • Partager sur Twitter
        15 septembre 2020 à 18:49:37

        Salut

        J'ai envie de te faire découvrir var_export().
        Utilise var_export($_POST); au début du script qui gère ton formulaire, tu devrais comprendre pourquoi ça ne fonctionne pas, et comprendre à quoi sert la fonction si la documentation officielle n'est pas assez claire ;)

        Autre point : pas besoin de tester si isset(…) ET si !empty(…), le dernier inclut le premier. La FAQ PHP explique un peu plus la différence entre les deux.

        • Partager sur Facebook
        • Partager sur Twitter
          15 septembre 2020 à 20:23:21

          Merci beaucoup Julp, tu me sauve encore une fois la vie :)

          @Ymox, je ne comprends pas bien, je n'ai pas accès à l'envoi du formulaire ...

          • Partager sur Facebook
          • Partager sur Twitter
          Scots
            15 septembre 2020 à 21:08:09

            Ce n'est pas à l'envoi, mais au traitement de ce qui est envoyé, ce à quoi tu as forcément accès vu que tu nous en fournis du code.

            • Partager sur Facebook
            • Partager sur Twitter
              16 septembre 2020 à 9:51:24

              Ok @Ymox, j'ai bien compris en regardant le manuel.

              Par contre, pour mon cas, je ne vois pas l'utilité : Je ne veux pas faire d'affichage (ici j'affiche seulement pour les tests).

              Par contre, il y a quelque chose que je ne m'explique pas. Si je fais :

              if (!empty($_POST['Client']['Phone'])) { $ClientPhone = $_POST['Client']['Phone']; }
              if (!empty($_POST['Client']['Address'])) { $ClientAdress = $_POST['Client']['Address']; }
              
              echo $ClientPhone.'<br>';
              echo $ClientAdress.'<br>';

              Alors ClientPhone s'affiche bien mais pour ClientAdress j'ai un Undefined variable.

              Je n'y vois peut-être plus très clair mais tout me semble identique ...

              -
              Edité par Scots 16 septembre 2020 à 11:35:12

              • Partager sur Facebook
              • Partager sur Twitter
              Scots
                16 septembre 2020 à 9:56:27

                C'est comme var_dump(), c'est ici à but de débogage.

                • Partager sur Facebook
                • Partager sur Twitter
                  16 septembre 2020 à 12:02:49

                  Ok, merci @Ymox.

                  Pas d'idée pour mon bug ?

                  Edit : Bon, en fait, ces données ne sont pas envoyées dans le formulaire (!) Bravo le prestataire de les mettre dans la doc ...

                  -
                  Edité par Scots 16 septembre 2020 à 12:08:57

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Scots

                  Question ISSET avec des paramètres

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown