[erreur variable php]

Fermé
woodstock - 5 mai 2007 à 19:53
 woodstock - 5 mai 2007 à 23:35
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 vendredi 29 octobre 2004 Statut Contributeur Dernière intervention 13 février 2018 618
5 mai 2007 à 21:25
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
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
5 mai 2007 à 23:05
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
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