[erreur variable php]
woodstock
-
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:
Si vous avez une idée parce que j'en suis à court..
Merci
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
-
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>
-
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 -
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 -
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