begin process at 2010 03 22 15:40:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

POST et Get différent lors de l'envoi d'un formulaire (dans une boucle For)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

POST et Get différent lors de l'envoi d'un formulaire (dans une boucle For)

vendredi 14 novembre 2008 à 18:59:15 | POST et Get différent lors de l'envoi d'un formulaire (dans une boucle For)

Const4ntine

Bonjour,

Après avoir passé près de 4h dessus, et avoir fait des tests de tout les cotés, je demande de l'aide ;)

J'ai un panier qui se charge par rapport à mes sessions sous une boucle for, qui contient pour chaque ligne des données formulaire,

J'ai un souci sur mon bouton supprimer, lorsque j'envoi mes données en POST, il me redonne la valeur de ma dernière session, tandis qu'en Get tout marche comme il faut,
Bien sur j'aimerai le faire en POST,

Pour infor : $_POST['Ref']= "Dernière valeur Ref de la dernière session, la position $i n'est pas respectée
                  $_GET['Ref']= "Retourne la bonne valeur, la position $i est respectée

Pouvez vous me dire ce qu'il cloche dans mon Code ?

Merci

for ($i=0 ;$i < $nbArticles ; $i++) {
            echo"<tr>";
            echo"<td>".htmlspecialchars($_SESSION['panier']['ref'][$i])."</td>";
            echo"<td>".htmlspecialchars($_SESSION['panier']['libelleProduit'][$i])."</td>";
            echo"<td>".htmlspecialchars($_SESSION['panier']['Senteurs'][$i])."</td>";
            echo'<td><input type="text" size="4" name="QteArticle[]" value="'.htmlspecialchars($_SESSION['panier']['qteProduit'][$i]).'"/></td>';
            echo"<td>".htmlspecialchars($_SESSION['panier']['prixProduit'][$i])."</td>";
            echo '<td> <input type="submit" name ="action" value="suppression" />
                        <input type="hidden" name="Ref" value="
'.rawurlencode($_SESSION['panier']['ref'][$i]).'" />';
            echo'<a href="'.htmlspecialchars("Panier.php?action=suppression&Ref=".rawurlencode($_SESSION['panier']['ref'][$i])).'">X</a></td>';
           echo  $_SESSION['panier']['ref'][$i].'</td>';//test
            echo"</tr>";
}
samedi 15 novembre 2008 à 11:40:52 | Re : POST et Get différent lors de l'envoi d'un formulaire (dans une boucle For)

malalam

Administrateur CodeS-SourceS
Hello,

une balise <a> ne poste pas un formulaire. C'est juste un lien HTTP, et envoyer des variables via un lien HTTP, c'est du GET, pas du POST.
<form method="post" action="script.php">
<input type="hidden" name="bla" id="bla" value="1" />
<input type="submit" name="ok" id="ok" value="ok" />
</form>

<form method="get" action="script.php">
<input type="hidden" name="bla" id="bla" value="1" />
<input type="submit" name="ok" id="ok" value="ok" />
</form>

là, dans ces deux cas, tu soumsts ton formulaire en POST, et en GET (respectivement), donc tu récupères la valeur du champ "bla".
Mais en aucun cas une balise <a> ne le permettrait :

<form method="post" action="script.php">
<input type="hidden" name="bla" id="bla value="1" />
<a href="script.php">ok</a>
</form>
Si tu cliques sur le lien, tu n'auras ni variables GET ni POST dans script.php.

Toi, tu as ta référence en GET parce que tu la passes explicitement :

<form method="post" action="script.php">
<input type="hidden" name="bla" id="bla" />
<a href="script.php?bla=1">ok</a>
</form>

Tu ne reçois pas la variable du champ du formulaire, mais du passage de paramètre dans le lien.Le formulaire n'est pas soumis.

Je pense que tu as besoin de relire des tuto sur les formulaires HTML afin de bien comprendre leur fonctionnement.
samedi 15 novembre 2008 à 16:13:39 | Re : POST et Get différent lors de l'envoi d'un formulaire (dans une boucle For)

Const4ntine

Tu ne réponds absolument pas à ma question, je pensais pourtant être clair.

C'est vrai que je n'ai pas mis tout le formulaire et ses variables car ce qui cloche c'est vraiment à l'interieur de ma boucle for,

Et j'ai spécialement mis la meme variable $_SESSION['panier']['ref'][$i] de mon formulaire, une en POST, et l'autre en envoie de variable en <a> mais que je recupère en GET, et aussi en echo pour voir ce qui était envoyé.

Celle en GET est bien récupéré avec la bonne position $i, l'autre en POST ne prend que la dernière position dernière de $i.

Tout le reste marche très bien et très correctement,

et pour info je ne suis pas un débutant.
samedi 15 novembre 2008 à 17:04:20 | Re : POST et Get différent lors de l'envoi d'un formulaire (dans une boucle For)

malalam

Administrateur CodeS-SourceS
Toujours agréable de se voir répondre de cette manière quand on tente d'aider quelqu'un.
Tu es vexé parce que je t'ai dit que tu devrais revoir tes connaissances sur les formulaires ?
Dommage.
Si quelqu'un tentant de t'aider répond à côté, la moindre des choses et de se remettre en question  en essayant de mieux expliquer son problème ou de répondre gentiment que le problème est différent. Pas de se vexer.

Donc si ton problème est via tes envois en post ou en get, montre ses envois, pas la récupération.

Si je te dis : je fais echo $a; et ça ne m'affiche rien, ça ne va pas bcp t'avancer si je ne montre pas comment je remplis $a.

ceci dit, je ne pense pas vraiment me tromper sur ta connaissance des formulaires. Si comme j'en ai l'mpression, ta boucle est un extrait d'une construction de fomulaire, ça ne m'étonne guère qu'en écrivant cette ligne dans une boucle :
<input type="hidden" name="Ref" value="'.rawurlencode($_SESSION['panier']['ref'][$i]).'" />';
et en postant à la fin ton formulaire, tu ne récupères que le dernier $i.
Vu que tu l'écrases à chaque itération.
Etant donné que la varibale $_POST récupère l'attribut name des champs.
Donc...on a par exemple :
<input type="hidden" name="Ref" value="A" />'
<input type="hidden" name="Ref" value="B" />'
<input type="hidden" name="Ref" value="C" />'

A soumission, $_POST['Ref'] est forcément égal à C, le dernier champ posté nommé "Ref".

Mais franchement, si tu veux qu'on ait envie de t'aider, change d'attitude.
samedi 15 novembre 2008 à 17:48:11 | Re : POST et Get différent lors de l'envoi d'un formulaire (dans une boucle For)

Const4ntine

Je ne suis pas vexé,

Juste, je n'écrase pas <input> car comme je l'avais mis dans mon message d'origine ils sont compris entre des balises <td>, en clair ma boucle for me permet de construire un tableau, et donc mon <input> "supprimer" est différent à chaque fois, et se distingue donc pas la position $i
samedi 15 novembre 2008 à 18:17:25 | Re : POST et Get différent lors de l'envoi d'un formulaire (dans une boucle For)

malalam

Administrateur CodeS-SourceS
Pas pour la référence, non. Pour la quantité je veux bien car tu utilises un tableau pour le champ. Mais ton champ caché contenant la réf sera écrasé. Non pas dans le html, mais à soumission du formulaire. Le fait de les mettre dans des <td> ne change rien. Tu es dans un formulaire, et un seul au vu de ta boucle. Alors que ton lien, juste en dessous du champ caché, lui, sera évidemment ok à chaque fois, donc tu récupères bien ce que tu veux en GET, mais pas en POST...c'est exactement ce que tu dis.
dimanche 16 novembre 2008 à 01:41:28 | Re : POST et Get différent lors de l'envoi d'un formulaire (dans une boucle For)

Const4ntine

Ok, merci pour l'explication,

Je vais me résoudre à le faire en GET
dimanche 16 novembre 2008 à 01:48:04 | Re : POST et Get différent lors de l'envoi d'un formulaire (dans une boucle For)

malalam

Administrateur CodeS-SourceS
En post :

<input type="hidden" name="Ref['.$i.']" value="'.rawurlencode($_SESSION['panier']['ref'][$i]).'" />';
par exemple.


Cette discussion est classée dans : session, echo, ref, panier, htmlspecialchars


Répondre à ce message

Sujets en rapport avec ce message

probleme avec suression produit dans un panier [ par momoflash ] salut a tous et a toute salut a tous, jé un souci avec  mon panier, quand je veux suprimme un produit il me rajoute pb suppression article dans un panier [ par justine75 ] bonsoir! voilà j'aimerais supprimer des articles dans mon panier voici le code de mon panier : [code] include ("definitioninfo.php");include ("aff_pa suppression d'article d'un panier [ par justine75 ] bonjour!petit problème lors de la suppression d'article dans mon panieron m'a aidé mais ça ne marce pas... et je ne comprends pas vraiment pourquoi... Vider panier [ par Miss1 ] Salut j'ai crée un panier et se que je voudrais savoir c'est comment faire pour vider le panier quand le client se déconnecte je connais cette methode caddie [ par cobra176 ] bonjour a tous .j'ai réalise un caddie avec des sessions , je me pose une question car j'ai essaye de retirer des produits de mon caddie , je n'y arri Caddie e-commerce [ par guisx00 ] Salut je suis à la recherche de conseils svp, Voila je suis entrain de crée un petit panier e-commerce pour lister les articles et en choisir un sa c' panier : je ne m'en sors pas.... [ par jereln ] Bonjour, je suis en trai de créer un panier avec utilisation des sessions.J'ai une première page (index.php) qui correspond à mon catalogue. Chaque ar HELP PLEASE !!!! problème de panier... [ par frederic66 ] Bonjour,mon site a été redirigé sur un nouveau serveur qui utilise PHP4, MySQL - 5.0.51a-log. depuis, mon panier ne fonctionne plus correctement... on probleme syntaxe ecriteu BDD [ par ju0123456789 ] Bonjour, j'ai les produits du panier qui s'affichent sur ma page "modes_paiement.php" , le nombre d'articles et ainsi que le prix total, j'ai ma table Problème Session et array [ par taxitat ] Bonjour à tous,J'essaye de créer un panier d'achat. J'en suis au stade expérimental et pour ne pas me casser la tête, à ce stade je "remplis" mon pani


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales