[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

4 réponses

s.spark Messages postés 2485 Date d'inscription   Statut Contributeur Dernière intervention   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
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
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
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