[erreur variable php]

Bonjour

si quelqu'un peut m'expliquer ou est mon erreur parcke je ne comprend pas: je veux récuperer au reload de ma page des valeurs entrées dans le formulaire de la page. Mais ca me met une erreur....

Notice: Undefined index: qte_0 in c:\program files\easyphp1-8\www\truc\choix_produit.php on line 17
name=qte_0Valeur du champ 0 :

voici mon code:
if ($_GET['action']=='ajout')
  {
   for ($i=0; $i <count($_SESSION['panier']); $i++){ 
             $value = $_GET['qte_'.$i]; 
			 echo 'name=qte_'.$i.'';
             echo 'Valeur du champ '.$i.' : '.$value.'<br />'; 
}
}
--ici la génération du formulaire:
<?
		for ($i=0; $i < count($_SESSION['panier']); $i++){?>
		<tr>
		<td> <? echo $_SESSION['panier'][$i]['produit']; ?> </td>
		<td> <input type='text' name="qte_'.$i.'"> </td>
		<td> <? echo $_SESSION['panier'][$i]['prix']  ?> </td>
				<td> <input type="checkbox" name="choix[]" value=".$i." checked="checked" ></input> </td> </tr>";
																<? 
}
?>
--le rappel de ma page
 <a href="choix_produit.php?action=ajout">tester</a>

Si vous avez une idée parce que j'en suis à court..

Merci
Configuration: Windows XP
Firefox 1.0.7

4 réponses

  1. Contributeur
    Salut,

    Déjà il faudrait que ton code soit juste, je veux dire que tu ouvres et tu fermes un peut partout les balises PHP (<?php ?>)sans toujours les fermer, c'est plein d'imbrication de php/html alors qu'il serait plus simple de tout faire en PHP.

    Exemple1
    value=".$i." affichera value=".$i."

    Exemple2
    <?php echo $_SESSION['panier'][$i]['prix'] ?>

    Il manque ";" à la fin de la fonction.

    Les commentaire en PHP ce font comme ceci :
    // Commentaire...

    En HTML comme ça :
    <!-- Commentaire... -->

    Je ne peux pas tester le code en condition réelle, je te fais confiance pour les cookies :
    <?php
    
    if ($_GET['action']=='ajout')
    	{
    	for ($i=0; $i < count($_SESSION['panier']); $i++)
    		{ 
    		$value = $_GET['qte_$i']; 
    		//Je ne vois pas l'intérêt d'afficher cette ligne
    		//echo 'name=qte_' . $i . '';
    		echo 'Valeur du champ ' . $i . ' : ' . $value . '<br />'; 
    	}
    }
    
    //ici la génération du formulaire:
    
    echo '<table>';
    
    for ($i=0; $i < count($_SESSION['panier']); $i++)
    	{
    	echo '<tr><td>' .  $_SESSION['panier'][$i]['produit'] . '</td>
    	<td><input type="text" name="qte_' . $i . '"></td>
    	<td>' . $_SESSION['panier'][$i]['prix'] . '</td>
    	<td><input type="checkbox" name="choix[' . $i . ']" value="' . $i . '" checked="checked" ></input> </td> </tr>';									 
    }
    
    echo '</table>';
    
    ?>
    <!-- le rappel de ma page -->
    <a href="choix_produit.php?action=ajout">tester</a>

    0
    1. Merci pour ton aide mais j'ai testé avec les modifications et ca me met:

      Notice: Undefined index: qte_$i in c:\program files\easyphp1-8\www\truc\choix_produit.php on line 18
      Valeur du champ 0 :

      Je comprend pas pourquoi j'arrive pas à récuperer la valeur des champs texte de type qte_0 ou qte_1
      0
      1. Contributeur
        Euh moi j'aurais dit :
        if ($_GET['action']=='ajout')
        {
        for ($i=0; $i < count($_SESSION['panier']); $i++)
        {
        $value = $_GET["qte_$i"]; //entre guillemets sinon $i ne sera pas remplacé par sa valeur
        //Je ne vois pas l'intérêt d'afficher cette ligne
        //echo 'name=qte_' . $i . '';
        echo 'Valeur du champ ' . $i . ' : ' . $value . '<br />';
        }
        }

        Es-tu sûr que la variable qte_0 exite vraiment ? Sinon une condition pour vérifier qu'elle existe serait la bienvenue
        0
        1. En fait tu as vu juste il y avait en effet 2 erreurs...

          La première il manquait les guillemets .
          De plus en rajoutant la vérification de l'existance de ma variable jme suis rendu compte qu'elle n'existait pas...J'ai changé le code et maintenant c bon

          Probleme résolu....merci
          0