Notice: Undefined index: cmp in C:\Program Files\EasyPHP-12.1\ww [Résolu/Fermé]

Signaler
Messages postés
151
Date d'inscription
mercredi 20 avril 2016
Statut
Membre
Dernière intervention
9 juillet 2020
-
Messages postés
151
Date d'inscription
mercredi 20 avril 2016
Statut
Membre
Dernière intervention
9 juillet 2020
-
Bonjour,
j'ai un soucis dans mon code , il connait pas "cmp" par contre il existe deja dans le code ! connaissez vous pourquoi ?
merci


<HTML>
<head>
<script>
    var i=0;
    function addinput()
    {
        i++;
         
        var frm = document.getElementById("frm"); //le noeud parent
         
        // creation d'un champ
        var inpt = document.createElement('input');
        inpt.setAttribute('name','txt'+i);
        inpt.setAttribute('type','text');
        frm.appendChild(inpt);
         
        // retour a la ligne
        var br = document.createElement('br');
        frm.appendChild(br);
         
        //Incrementation du compteur i (nombre de champ)
        document.getElementById("cmp" ).value=i;
    }
</script>
</head>
<body>
<form method="post">
    <input type='button' id='ajIn' value=' ajouter ' onClick='addinput()' />
    <input  type="hidden" value="javascript:i;"name="cmp" id="cmp" />
    <div id="frm" ></div>
    <input type="submit" value=" Envoyer ">
 
</form >
<?php
    //pour recuperer le contenu des champs envoyés par post
     //var $cmp;
    for($n=1; $n<= intval($_POST['cmp']) ; $n++)
    {
        echo $_POST['txt'.$n].'<br />';
    }
     
    //var_dump($_POST);
     
?>
</body>
</html>



il m'affiche le contenu je fais mon ajout des champs correctement je recupere mes valeurs correctement mais avec le message d'erreur qui s'affiche en bas de la page

Notice: Undefined index: cmp in C:\Program Files\EasyPHP-12.1\www\pst\projet\maPage.php on line 38

la ligne 38 c'est celle la

for($n=1; $n<= intval($_POST['cmp']) ; $n++)

je vous remercie

1 réponse

Messages postés
2370
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
10 mars 2020
432
Salut,

La variable $_POST['cmp'] n'existe pas au premier chargement de la page d'où le message d'erreur.
Il ne faut utiliser cette variable que si le formulaire est envoyé, autrement dit que si cette variable existe :
// si $_POST['cmp'] existe et n'est pas vide
if (!empty($_POST['cmp']))
{
    for($n=1; $n<= intval($_POST['cmp']) ; $n++)
    {
        echo $_POST['txt'.$n].'<br />';
    }
}
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
151
Date d'inscription
mercredi 20 avril 2016
Statut
Membre
Dernière intervention
9 juillet 2020
3
exactement c'est ce que j'ai remarqué moi aussi mais au debut j'ai utilisé
 if(isset($_POST['cmp'])
ca revient au meme chose mais ca n a pas marche puis j'ai modifier et maintent ca va (y)

je vous remercie bcp
bonne journee