Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupération des valeurs de name="ph[]"

AIDE SUR PHP

    9 janvier 2023 à 17:25:27

    Bonjour tout le monde, j'ai besoin d'aide:
    <form action="" method="post">
        Note <input type="text" name="ph[]" value="<?php echo $ph; ?>">
        <span><?php echo $phs; ?></span>
    
        <br><br>
    
        <input type="submit" name="s">
    </form>
    je veux récupéré la valeur de $ph sous forme tableau.
    
    j'ai essayé mais rien ne passe. 
    
    $ph=$phs='';
    if (isset($_POST['s'])) {
        @$ph=trim($_POST['ph']);
        @$phc='/^[0-9]{2,2}$/';
    
        if (isset($ph) && $ph =='') {
            $phs = "Veuillez renseigner les champs SVP!";
        }elseif (preg_match($phc,$ph) && $ph <= 20) {//&& $ph[0] <= 2
            $phs="Note valide";
        } else {
            $phs="Vérifier la note";
        }
    }
    
    Si je fais le même code avec name="ph" au lieu de "ph[]" tout mâche très bien.
    
    
    
                                                                          Je suis débutant dans le monde informatique.



    -
    Edité par D.Abdallah 2 février 2023 à 11:51:45

    • Partager sur Facebook
    • Partager sur Twitter
      9 janvier 2023 à 17:49:54

      Bonjour,

      Le message qui suit est une réponse automatique activée par un membre de l'équipe de modération. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
      Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

      Pour plus d'informations, nous vous invitons à lire les règles générales du forum

      Manque de Politesse

      Votre message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ?

      Merci de colorer votre code à l'aide du bouton Code

      Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: php;">Votre code ici</pre>.

      Merci de modifier votre message d'origine en fonction.

      Liens conseillés

      -
      Edité par AbcAbc6 9 janvier 2023 à 17:51:01

      • Partager sur Facebook
      • Partager sur Twitter
        2 février 2023 à 20:59:22

        Bonjour, merci d'avoir mis le code en forme, c'est plus lisible, la description du problème ne doit pas être dans le bloc de code.

        En HTML il manque la balise <label> dans votre formulaire. 

        En PHP ce n'est pas une bonne idée de cacher les erreurs avec @, corriger les plutôt. Faite un var_dump() pour connaitre la valeur de vos variable.

        Testez si vos variables existe avant de les utiliser, cela évitera les notices.

        Le formulaire :

        <form  method="post">
            <label for="ph">Note</label>
             <input type="text" id="ph" name="ph[]" value="<?php echo (isset($ph))?  $ph : '' ;  ?>">
            <span><?php echo (isset($ph))?  $ph : ''; ?></span>
            <input type="submit" name="s">
        </form>

        La gestion du formulaire :

        <?php
        $ph = $phs = '';
        if (isset($_POST['s'])) {
            var_dump($_POST);
            $ph = trim($_POST['ph'][0]);
            $phc = '/^[0-9]{2,2}$/';
        
            if (isset($ph) && $ph == '') {
                $phs = "Veuillez renseigner les champs SVP!";
            } elseif (preg_match($phc, $ph) && $ph <= 20) { //&& $ph[0] <=2 
                $phs = 'Note valide';
            } else {
                $phs = "Vérifier la note";
            }
        }
        echo $phs;




        • Partager sur Facebook
        • Partager sur Twitter
          3 février 2023 à 18:04:02

          N'oublie pas de passer en résolu si c'est bon et indique quand même ton nouveau code pour que l'on t'aide à l'améliorer.
          • Partager sur Facebook
          • Partager sur Twitter

          Récupération des valeurs de name="ph[]"

          × 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