Maison  >  Questions et réponses  >  le corps du texte

Comment récupérer la balise d'entrée correspondant au type d'entrée numérique à partir d'un formulaire HTML à l'aide de PHP

J'ai un formulaire qui contient des zones de saisie de type numéro, chaque zone de saisie a une étiquette correspondante. J'aimerais ajouter une "page de révision" après avoir soumis le formulaire où vous pouvez voir vos réponses à chaque zone de saisie (même si vous n'avez pas besoin de toutes les remplir), tout comme vous triez les balises. Par exemple, si j'écris 4 dans la zone de saisie intitulée « Mark Twain », je souhaite afficher « Choix 4 : Mark Twain ». Je ne peux pas changer le format en <select>, où dans le formulaire chaque zone de saisie a une étiquette unique.

J'ai défini chaque zone de saisie en HTML sur :

<label><input type="number" name="num_a"  min="1" max="14" autocomplete="off" oninput="this.value = this.value.replace(/[^0-9.]/g, ''); this. Value = this.value.replace(/(\..*)\./g, ''); this.setCustomValidity('')" oninvalid="this.setCustomValidity('Please enter a number between 1 and 14')" class="unique">  <span>Mark Twain</span></label>

J'ai essayé le code suivant en PHP :

if (isset($_POST["num_a"]))
 {$a= "Mark Twain";
echo "Choice ", $_POST["num_a"], ":", $a, "<br>";}

Cette méthode fonctionne bien lorsque num_a est réellement saisi. Cependant, même si num_a n'est pas renseigné, il apparaît toujours sur la page d'avis, il ressemble donc à ceci :

"Choix : Mark Twain"

Que puis-je faire pour afficher la zone de saisie uniquement lorsqu'elle a une valeur ? Pour que seule la zone de saisie dans laquelle les nombres sont saisis apparaisse ?

P粉563446579P粉563446579424 Il y a quelques jours688

répondre à tous(1)je répondrai

  • P粉413704245

    P粉4137042452023-09-15 11:25:11

    Si l'entrée est vide, l'entrée n'est pas imprimée.

    if (isset($_POST['num_a']) && $_POST['num_a'] != '') {
        $a= "Mark Twain";
        echo "Choice ", $_POST["num_a"], ":", $a, "<br>";
    }

    Puisque 0 n'est pas une valeur d'entrée valide, vous pouvez simplifier comme suit :

    if (!empty($_POST['num_a'])) {
        $a= "Mark Twain";
        echo "Choice ", $_POST["num_a"], ":", $a, "<br>";
    }

    répondre
    0
  • Annulerrépondre