Partage
  • Partager sur Facebook
  • Partager sur Twitter

PHP formulaire envoyer un zero

Sujet résolu
    22 septembre 2017 à 19:11:43

    Bonjour je souhaiterais pouvoir envoyer un zero via un formulaire en POST mais ça ne fonctionne pas. Est que le chiffre 0 equivaut a un POST vide?

    <form action="" method="post" >  
                <input type="text" name="remise"/>
                <input type="submit" name="submit"/>
            </form>
            
            <?php
            if(isset($_POST['submit']) AND !empty($_POST['remise'])){
                
                $sql = $bdd->prepare('UPDATE test SET number = ? WHERE id = "0"');
                $sql->execute(array($_POST['remise']));
                
                
            }
                 
            ?>

    Quand j'entre direct un 0 a la place du $_POST [''remise'], ça fonctionne; ma table est bien updatée avec un zero :

    $sql = $bdd->prepare('UPDATE test SET number = ? WHERE id = "0"');
    $sql->execute(array(0));
                

    Et quand je fais un var_dump()  de ma variable ça fonctionne tout le temps sauf quand je mets un zero...

    J'en deduis que le probleme vient du input et qu'il doit considerer mon zero comme vide...mais pourquoi? Et comment faire pour qu'il soit pris en compte?


    -
    Edité par aurelien33320 22 septembre 2017 à 19:25:38

    • Partager sur Facebook
    • Partager sur Twitter
      22 septembre 2017 à 19:26:16

      C'est ton !empty qui ne prend pas '0' (cf sa doc).

      Supprimes ce test ou utilises autre chose (comme isset($_POST['remise']) &amp;&amp; '' !== $_POST['remise']).

      -
      Edité par julp 22 septembre 2017 à 19:32:21

      • Partager sur Facebook
      • Partager sur Twitter
        22 septembre 2017 à 19:34:44

        Donc la fonction empty() prend un zero comme NULL?
        • Partager sur Facebook
        • Partager sur Twitter
          22 septembre 2017 à 19:35:32

          Mais t'as lu sa doc ? C'est clairement écrit dedans !

          Ce qui suit est considéré comme étant vide :

          • "" (une chaîne vide)
          • 0 (0 en tant qu'entier)
          • 0.0 (0 en tant que nombre à virgule flottante)
          • "0" (0 en tant que chaîne de caractères)
          • NULL
          • FALSE
          • array() (un tableau vide)
          • $var; (une variable déclarée, mais sans valeur)

          -
          Edité par julp 22 septembre 2017 à 19:37:52

          • Partager sur Facebook
          • Partager sur Twitter
            22 septembre 2017 à 19:43:24

            Autant pour moi.

            Merci pour ta réponse en tout cas. Bonne soirée

            • Partager sur Facebook
            • Partager sur Twitter

            PHP formulaire envoyer un zero

            × 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