rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Problème php - Méthode post actualisation

tranzebou, le mardi 15 janvier 2008 à 14:32:15
Bonjour,
Je travaille sur la mise en place d'un panier pour un site d'e-commerce et j'ai un problème avec un formulaire (form = post) lorsque j'actualise la page du panier.

J'ai un premier script avec le formulaire permettant de saisir l'article à commander et la quantité dans une liste déroulante.

J'ai simplifié le script mais en gros ça donne ça:
<form method='post' action='panier.php' target='_top'>
<input name='code_prod' type='hidden' value='$ligne_produit->code_prod'>
<select name='quantite'>";
for ($k=1;$k<100;$k++)
{ echo "<option value=$k>$k</option>";}
echo "</select>
<input name='ajout' type='submit' value='Ajouter au panier'>
</form>

Ensuite, dans le script panier.php, on récupère le code du produit et les quantités. Si le produit existe déjà dans le panier, on ajoute les quantités postées aux quantités du produit déjà existantes sinon on ajoute le code du produit et les quantités.

Le problème vient du fait qu'en actualisant la page internet, cela ajoute systématiquement les quantités postées dans le dernier formulaire.


Par exemple, je commande 10 produits A

Je suis redirigé vers la page panier.php où je peux voir un récapitulatif avec "produit A : 10"
Si j'actualise la page, la méthode post ajoute à nouveau 10 produits, ce qui donne "produit A : 20" et ceci indéfiniment à chaque actualisation.

Voila un court passage du script panier.php

if (isset($_POST['code_prod']))
{
$existe=0;
$size=count($liste_code_produit);
for ($k=0;$k<$size;$k++)
{
$id = $liste_code_produit[$k];
if ($id==$_POST['code_prod'])
{
$qte=$liste_quantite[$k]+$_POST['quantite'];
$liste_quantite[$k] = $qte;
$k=$size;
$existe=1;
}
}
//si le produit n'est pas présent dans le panier
if ($existe==0)
{
$liste_code_produit[] = $_POST['code_prod'];
$liste_quantite[] = $_POST['quantite'];
}
//Actualisation des données dans la session
$_SESSION['liste_code_produit'] = $liste_code_produit;
$_SESSION['liste_quantite'] = $liste_quantite;
$quantite_totale = $quantite_totale + $_POST['quantite'];
$_SESSION['nombre_article'] = $quantite_totale;
}


Si quelqu'un sait comment éviter ce bug, merci beaucoup
Configuration: Windows Vista
Internet Explorer 7.0
Répondre à tranzebou  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Blue project, le mardi 15 janvier 2008 à 20:01:55
lors de ton actualisation, tu réenvoie les infos de ton formulaire. passe par une page genre
ta page de selection poduit => page de validation
page de validation => panier.php

Ta page de validation peu mettre a jour les variables de 2 produits passer à 5...

sachant qu'en fesant cela la page de validation n'est pas afficher si tu met que du code php qui est suivit d'un header
Répondre à Blue project

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 scorpion16000, le jeudi 17 avril 2008 à 14:08:45
Bonjour,

Jai le meme probleme mais je ne peux pas passer par une page de validation car la saisie doit s'enchainer avec la possibilitée d'avoir des valeurs identiques.

alors comment faire??

merci d'avance
Répondre à scorpion16000
[PHP] méthode post et redirection (Résolu)Bonjour, Peut on envoyer des variables par post vers un fichier sans être rediriger vers ce fichier??? exemple j'ai 2 fichiers php 1.php et 2.php, dans 1.php j'ai un formulaire avec la méthode post et l'action 2.php . je ne veut pas... www.commentcamarche.net/forum/affich-6184053-php-methode-post-et-redirection
Passage de valeur avec method post (Résolu)Bonjour, J'ai quelques soucis avec le passage des valeurs d'un fichier à l'autre avec la method POST. Dans un premier temps je procède à une lecture des données à l'aide d'un formulaire, dans le fichier identif.php, dont voici... www.commentcamarche.net/forum/affich-4315043-passage-de-valeur-avec-method-post
[PHP] passer un array par la methode post (Résolu)Bonjour, Je cherche a passer un tableau a une autre page en utilisant le méthode post. $data = array($ref,$nb); J'ai tester une fonction serialize($data) ce qui donne un résultat du type : a:2:{i:0;s:9:"reference";i:1;i:17;} pour $ref =... www.commentcamarche.net/forum/affich-8151577-php-passer-un-array-par-la-methode-post
[PHP] Méthodes de débogageMéthodes de débogage I. Informations sur une variable I.1 echo I.2 print_r() I.3 var_dump() / var_export() I.4 Rediriger la sortie (ne pas afficher à l'écran) II. "Backtrace" ou rapport de contexte III. Bien utiliser les rapports... www.commentcamarche.net/faq/sujet-3158-php-methodes-de-debogage
Vérifier le format d'une date en PHPIl existe plusieurs méthodes pour verifier le format d'une date en PHP, vous pouvez par exemple découper la chaîne puis tester les valeurs de chaque élément. Plus simplement nous utiliserons les expressions régulières. Pour valider une date au... www.commentcamarche.net/faq/sujet-9883-verifier-le-format-d-une-date-en-php
[CCM] Mon message a été supprimé du forumLe site CommentCaMarche possède une charte d'utilisation précisant notamment les conditions dans lesquelles les utilisateurs du site ont le droit de poster dans le forum : www.commentcamarche.net/ccmguide/ccmcharte.php3 En cas de non respect... www.commentcamarche.net/faq/sujet-264-ccm-mon-message-a-ete-supprime-du-forum
Connection php à postgresql (Résolu)salut à tous, Une aide sur la connexion de php à postgresql S.V.P. Thanks for your help Hari Rajaonarifetra Ingénieur concepteur et developpeur www.commentcamarche.net/forum/affich-622568-connection-php-a-postgresql
[PHP] incrémentation de $_POST[] ... (Résolu)Bonjour à tous, Alors voilà mon problème. J'aimerais dans un script php récupérer des variables transmises par formulaire par la méthode POST. Mon problème provient du fait que le formulaire ne possède pas un nombre de champ définis. Il se trouve... www.commentcamarche.net/forum/affich-1702301-php-incrementation-de-post
[ajax/debutante] envoi PLRS parametres post (Résolu)Bonjour, j ai un fichier php: verification.php j ai une page html qui contient une fonction js avec instanciation de l objet xhr et appel de la page verification.php j aimerai envoyer plusieurs parametres avec la methode post grace a l bjet xhr voila... www.commentcamarche.net/forum/affich-5439384-ajax-debutante-envoi-plrs-parametres-post
Télécharger Remote Shutdown DaemonQuand vous gérer plusieurs ordinateur sur un même réseau, il n'est pas très aisé de devoir éteindre tous les postes, donc se déplacer. Remote Shutdown Daemon and client est une méthode permettant d'éteindre un ou des ordinateurs à travers le LAN ou... www.commentcamarche.net/telecharger/telecharger-34055854-remote-shutdown-daemon
PHP - Les classes Php3 intègre un soupçon de caractéristiques empruntées aux langages orientés objet, c'est-à-dire la possibilité d'utiliser des objets, entités regroupant des données et des fonctions au sein d'une structure et rendant la programmation plus simple... www.commentcamarche.net/php/phpclass.php3
PostgreSQL - Introduction PostgreSQL (prononcez postgrècecuelle ou postgrèce) est un SGBDR (système de gestion de base de données relationnelles) fonctionnant sur des systèmes de type UNIX (par exemple Linux, FreeBSD, AIX, HP-UX, IRIX, Solaris, ...). L'une des principales... www.commentcamarche.net/postgresql/postgresintro.php3
CGI - Réception et traitement des données L'envoi de données à un script CGI se fait par l'intermédiaire d'un formulaire HTML. Les formulaires HTML se créent à l'aide de la balise contenant des boutons, des champs, des listes et/ou des cases à cocher repérés par des noms auxquels... www.commentcamarche.net/cgi/cgiget.php3
Toutes les réponses pour « Problème php Méthode post actualisation »