Notice: Undefined index: cmp in C:\Program Files\EasyPHP-12.1\ww

Résolu/Fermé
Nouvelle_Informaticienne Messages postés 153 Date d'inscription mercredi 20 avril 2016 Statut Membre Dernière intervention 20 décembre 2021 - Modifié par Nouvelle_Informaticienne le 29/06/2016 à 12:02
Nouvelle_Informaticienne Messages postés 153 Date d'inscription mercredi 20 avril 2016 Statut Membre Dernière intervention 20 décembre 2021 - 29 juin 2016 à 12:34
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

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
29 juin 2016 à 12:28
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
Nouvelle_Informaticienne Messages postés 153 Date d'inscription mercredi 20 avril 2016 Statut Membre Dernière intervention 20 décembre 2021 3
29 juin 2016 à 12:34
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
0