[erreur variable php]

woodstock -  
 woodstock -
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. s.spark Messages postés 2528 Statut Contributeur 618
     
    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
  2. woodstock
     
    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
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
  4. woodstock
     
    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