par
Calimero » 12 déc. 2011, 01:46
Ok alors on va commencer par un petit rappel : Dans un formulaire (c'est à dire les champs contenus dans une même balise <form> ... </form>), chaque élément de formulaire est repéré par un attribut name="" et éventuellement une valeur (qui peut être le produit d'une action utilisateur ou d'un attribut value=""). Les paires clé/valeur sont essentielles car elles sont ce que tu récupères au niveau serveur (php) lors de la soumission du formulaire.
J'ai cru comprendre que tu souhaitais autant que possible ne pas modifier le script qui reçoit les données. Sur cette page (
http://www.cginformatique24.com/boutique.php ), au niveau de ta boucle, chaque produit s'affiche avec le code suivant (le tout dans un formulaire unique pour tous les produits) (je ne reproduis ici que la dernière cellule de chaque ligne, celle qui contient les boutons radio) :
<!-- premier produit --><td>
<br>
<br>
<input type="radio" value="TABARCH7" name="code1">
<br>
<input type="submit" value="Details" name="Submit">
</td>
<!-- second produit --><td>
<br>
<br>
<input type="radio" value="TOSHPSC1YE01W00" name="code1">
<br>
<input type="submit" value="Details" name="Submit">
</td>
Donc la réception du formulaire exploite la valeur stockée dans la variable "code1".
Effectivement, si tu ne fais qu'enlever les boutons radio sur le code actuel, il ne reste tout simplement rien de spécifique au produit à transmettre au serveur lors du clic sur "Détails", donc aucune chance que tu obtiennes les détails du bon produit...
Une solution pourrait être de mettre chaque produit dans un <form> indépendant (plutôt qu'un <form> global pour toute la liste comme tu fais actuellement), ainsi tu pourrais assurer la transmission du code produit avec un champ caché :
<input type="hidden" name="code1" value="XXXXXXX" />
... Ce qui reviendrait tout bêtement à remplacer le type "radio" par un "hidden".
Ok alors on va commencer par un petit rappel : Dans un formulaire (c'est à dire les champs contenus dans une même balise <form> ... </form>), chaque élément de formulaire est repéré par un attribut name="" et éventuellement une valeur (qui peut être le produit d'une action utilisateur ou d'un attribut value=""). Les paires clé/valeur sont essentielles car elles sont ce que tu récupères au niveau serveur (php) lors de la soumission du formulaire.
J'ai cru comprendre que tu souhaitais autant que possible ne pas modifier le script qui reçoit les données. Sur cette page ( http://www.cginformatique24.com/boutique.php ), au niveau de ta boucle, chaque produit s'affiche avec le code suivant (le tout dans un formulaire unique pour tous les produits) (je ne reproduis ici que la dernière cellule de chaque ligne, celle qui contient les boutons radio) :
[html]<!-- premier produit --><td>
<br>
<br>
<input type="radio" value="TABARCH7" name="code1">
<br>
<input type="submit" value="Details" name="Submit">
</td>[/html]
[html]<!-- second produit --><td>
<br>
<br>
<input type="radio" value="TOSHPSC1YE01W00" name="code1">
<br>
<input type="submit" value="Details" name="Submit">
</td>[/html]
Donc la réception du formulaire exploite la valeur stockée dans la variable "code1".
Effectivement, si tu ne fais qu'enlever les boutons radio sur le code actuel, il ne reste tout simplement rien de spécifique au produit à transmettre au serveur lors du clic sur "Détails", donc aucune chance que tu obtiennes les détails du bon produit...
Une solution pourrait être de mettre chaque produit dans un <form> indépendant (plutôt qu'un <form> global pour toute la liste comme tu fais actuellement), ainsi tu pourrais assurer la transmission du code produit avec un champ caché :
[html]<input type="hidden" name="code1" value="XXXXXXX" />[/html]
... Ce qui reviendrait tout bêtement à remplacer le type "radio" par un "hidden".