IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Modifier la quantité d'un produit dans un panier


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Points : 54
    Points
    54
    Par défaut Modifier la quantité d'un produit dans un panier
    bonjour,

    je suis entrain de finaliser un panier virtuel
    1-pour ma quantité il y a un input du type texte où s'affiche
    2-ensuite j'ai un bouton + et - pour modifier cette quantité

    Le bouton + et - marche nickel
    par contre avec le input
    1-si je modifie la valeur dans le input il ne se passe rien
    2-si je change la valeur et qu'apres j'appuie sur le + ou le -, il y a bien un changement mais il reprend a partir du chiffre qu'il y a vait avant que je le change manuellement

    voici un bout de mon code, si vous pouviez me guider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <tr> 
    <td rowspan="2" align="right">
    <input value="<? echo $qtearticle;?>" align="right" size="1">
    </td>
    <td align="left" valign="bottom">
    <a href="index2.php?panier=1&action=ajoutun&idpdt=<? echo $cat['IDARTICLE'];?>&verif_value=<? echo $_SESSION['verif_value'];?>">
    <img src="images/boutonplus.gif" border="0">
    </a>
    </td>
    </tr>
    <tr> 
    <td align="left" valign="top">
    <?
    if ($qtearticle > 1) {?>
    <a href="index2.php?panier=1&action=supprun&idpdt=<? echo $cat['IDARTICLE'];?>&verif_value=<? echo $_SESSION['verif_value']; ?>">
    <img src="images/boutonmoins.gif" border="0">
    </a>
    <? 
    }
    ?>
    </td>
    </tr>
    Pour récupérer la quantité stocké dans les variables de session j'utilise ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($_SESSION['achats'] as $idart => $qte) {
    $idarticle=$idart;
    $qtearticle=$qte;
    Pour la gestion de l'ajout de la suppression, voilà le code qui se trouve en début de page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?
    session_start();
    if(array_key_exists('action', $_GET)){
    	$actionpanier=$_GET['action'];
    	$idartsuppr=$_GET['idsuppr'];
    	$idproduit=$_GET['idpdt'];
    	if ($actionpanier=='supprligne'){
    		unset($_SESSION['achats'][$idartsuppr]);
    	}
    	if ($actionpanier=='vider'){
        	unset($_SESSION['achats']);
    	}
    	if($_SESSION['verif_value'] == $_GET['verif_value']){
        	if ($actionpanier == 'AJOUT'){
       			$qteart = 1;
       			$idart = $_GET['id'];
       			if (!isset($_SESSION['achats'][$idart])) {
          			$_SESSION['achats'][$idart] = 0;
       			}
       		$_SESSION['achats'][$idart] += $qteart;
    		}
    		if ($actionpanier=='ajoutun'){
    			$nouvelleqte = $_SESSION['achats'][$idproduit]['qte'] + 1;
    			$_SESSION['achats'][$idproduit] += $nouvelleqte;
    		}
    		if ($actionpanier=='supprun'){
    			$nouvelleqte = $_SESSION['achats'][$idproduit]['qte'] - 1;
    			$_SESSION['achats'][$idproduit] += $nouvelleqte;
    		}
    		$_SESSION['verif_value'] = rand(1,1000000);
    	}
    	?>

  2. #2
    Membre actif
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Points : 235
    Points
    235
    Par défaut
    Pour gérer les modifications au niveau de ton input, je vois deux solutions possible :

    - soit tu recharge ta page et récupère ainsi la nouvelle valeur
    - soit tu utilise du javascript qui gère tout cela.

    La première peut demander un peu plus de temps au client, mais elle reste sîr.

    La seconde peut poser des problèmes si le client a désactivé les codes Javascript dans son navigateur.

    Donc, je choisirais la première. Tu peux faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    if(isset($_POST['Valeur'])) {
      // Enregistrer la valeur dans la session
      // MA_VALEUR <- $_POST['Valeur']
    }
     
    ?>
     
    <input name="Valeur" type="text" value="<?php echo MA_VALEUR; ?>" onkeyup="location.url.href='<?php echo MON_URL; ?>'"; />
    Ou encore mieux à la place de l'evenement Javascript onkeyup (car tu vas avoir des petits problèmes si tu en souhaites deux), utilise plutôt un bouton "Recalculer" qui raffraichit la page en fonction des données saisies.
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Points : 54
    Points
    54
    Par défaut
    moi je cherchais une solution plutot pour lui faire lire le input d'abord puis la touche plus
    je vais mettre un bouton recalculer je suis obliger de toute facon
    sinon s'il y a deux d'ecrit dans le input si je fais plus ca m'ecrit trois par contre si je mets 30 a la place de 2 et que j'appuies sur + alors ca ecrit 3

  4. #4
    Membre actif
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Points : 235
    Points
    235
    Par défaut
    Quelle solution te donne 3 au lieu de 30 ?

    Le javascript que j'ai donné présente une petite erreur comme je l'avais indiqué ; utilise tout simplement le bouton Recalculer, c'est ce que la plupart des paniers font je crois. Oui effectivement, je viens de vérifier.
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Points : 54
    Points
    54
    Par défaut
    ma solution a moi
    je vais mettre le bouton recalculer de toute facon


    mais mon probleme la c'est que si je change la valeur afficher et que je clique sur + ou - et bien ca ne tient pas compte de la valeur que j'ai mise
    en fait

  6. #6
    Membre actif
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Points : 235
    Points
    235
    Par défaut
    Lorsque que tu clic sur + ou -, tu recharges ta page ?

    Si c'est le cas, alors il faut que tu prennes en compte une possible modification du champ. Par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SI valeur du champs != Valeur dans session
      ALORS valeur dans session = valeur du champs
    FIN SI
     
    Valeur de session ++ ou Valeur de session --
    Je pense que ton erreur est là.
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Points : 54
    Points
    54
    Par défaut
    Voila j'ai ce code pour la gestion du panier dans ma page d'affichage du panier, le rechargement de la page ce fait avec du javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <?
    session_start();
    if(array_key_exists('action', $_GET)){
    	$actionpanier=$_GET['action'];
    	$idartsuppr=$_GET['idsuppr'];
    	$idproduit=$_GET['idpdt'];
    	if ($actionpanier=='supprligne'){
    		unset($_SESSION['achats'][$idartsuppr]);
    	}
    	if ($actionpanier=='vider'){
        	unset($_SESSION['achats']);
    	}
    	if($_SESSION['verif_value'] == $_GET['verif_value']){
        	if ($actionpanier == 'AJOUT'){
       			$qteart = 1;
       			$idart = $_GET['id'];
       			if (!isset($_SESSION['achats'][$idart])) {
          			$_SESSION['achats'][$idart] = 0;
       			}
       		$_SESSION['achats'][$idart] += $qteart;
    		}
    		if ($actionpanier=='ajoutun'){
    			$nouvelleqte = $_SESSION['achats'][$idproduit]['qte'] + 1;
    			$_SESSION['achats'][$idproduit] += $nouvelleqte;
    		}
    		if ($actionpanier=='supprun'){
    			$nouvelleqte = $_SESSION['achats'][$idproduit]['qte'] - 1;
    			$_SESSION['achats'][$idproduit] += $nouvelleqte;
    		}
    		$_SESSION['verif_value'] = rand(1,1000000);
    	}
    	?>
    <script>
    window.location.replace('index2.php?panier=1.php');
    </script>
    <?
    }
    ?>
    par contre je vois pas comment récupérer la valeur du champs input où s'affiche la valeur, pour essayer ta solution ci-dessus

  8. #8
    Membre actif
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Points : 235
    Points
    235
    Par défaut
    Avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <tr>
    <td rowspan="2" align="right">
    <input [b]name="QTE"[/b] value="<? echo $qtearticle;?>" align="right" size="1">
    </td>
    Et :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <?
    session_start();
    if(array_key_exists('action', $_GET)){
       $actionpanier=$_GET['action'];
       $idartsuppr=$_GET['idsuppr'];
       $idproduit=$_GET['idpdt'];
       if ($actionpanier=='supprligne'){
          unset($_SESSION['achats'][$idartsuppr]);
       }
       if ($actionpanier=='vider'){
           unset($_SESSION['achats']);
       }
       if($_SESSION['verif_value'] == $_GET['verif_value']){
           if ($actionpanier == 'AJOUT'){
                $qteart = 1;
                $idart = $_GET['id'];
                if (!isset($_SESSION['achats'][$idart])) {
                   $_SESSION['achats'][$idart] = 0;
                }
             $_SESSION['achats'][$idart] += $qteart;
          }
     
          // DEBUT MODIFICATION
          if ($_SESSION['achats'][$idproduit]['qte'] != $_POST['QTE']) {
             $_SESSION['achats'][$idproduit]['qte'] = $_POST['QTE'];
          }
          // FIN MODIFICATION
     
          if ($actionpanier=='ajoutun'){
             $nouvelleqte = $_SESSION['achats'][$idproduit]['qte'] + 1;
             $_SESSION['achats'][$idproduit] += $nouvelleqte;
          }
          if ($actionpanier=='supprun'){
             $nouvelleqte = $_SESSION['achats'][$idproduit]['qte'] - 1;
             $_SESSION['achats'][$idproduit] += $nouvelleqte;
          }
          $_SESSION['verif_value'] = rand(1,1000000);
       }
       ?>
    <script>
    window.location.replace('index2.php?panier=1.php');
    </script>
    <?
    }
    ?>
    Je n'ai pas fait de test, mais je pense que ca devrais fonctionner.
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Points : 54
    Points
    54
    Par défaut
    ouai mais j'ai pas mis de <form method="post">
    en fait est ce que je peux le faire vu qu'il y a pas de bouton pour le valider ?

  10. #10
    Membre actif
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Points : 235
    Points
    235
    Par défaut
    oui tu peux en mettre en, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <form name="maForm" method="POST" action="http://...">
     
    <input type="text" value="NOMBRE" name="QTE" />
     
    <!-- Mettre "+" et "-" -->
     
    <!-- Exemple dans un lien -->
    <a href="#" onclick="maForm.submit()">Recalculer</a>
     
    <!-- Exemple dans un bouton -->
    <input type="button" onclick="maForm.submit()" value="Recalculer" />
    </form>
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Points : 54
    Points
    54
    Par défaut
    Donc voila mon code avec la partie pour modifier la quantité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <form name="Form" method="POST" action="index2.php?panier=1.php"> 
    <table align="center" class="texte">
    <tr> 
    <td rowspan="2" align="right">
    <input name="QTE" value="<? echo $qtearticle;?>" align="right" size="1">
    <input type="button" onclick="Form.submit()" value="Recalculer" /> 
    </td>
    <td align="left" valign="bottom">
    <a href="index2.php?panier=1&action=ajoutun&idpdt=<? echo $cat['IDARTICLE'];?>&verif_value=<? echo $_SESSION['verif_value'];?>">
    <img src="images/boutonplus.gif" border="0">
    </a>
    </td>
    </tr>
    <tr> 
    <td align="left" valign="top">
    <?
    if ($qtearticle > 1) {?>
    <a href="index2.php?panier=1&action=supprun&idpdt=<? echo $cat['IDARTICLE'];?>&verif_value=<? echo $_SESSION['verif_value']; ?>">
    <img src="images/boutonmoins.gif" border="0">
    </a>
    <? 
    }
    ?>
    </td>
    </tr>
    </table>
    </form>
    et pour la gestion du panier j'ai le meme code que toi
    mais ca ne marche pas, je n'arrive pas a voir pourquoi

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Points : 54
    Points
    54
    Par défaut
    J'ai ajouté les lignes suivantes :

    -dans le formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="article" value="<? echo $idarticle;?>" type="hidden">
    -dans la gestion du panier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(array_key_exists('article', $_POST)) $idproduit=$_POST['article'];
    mais ca ne marche pas pour autant

  13. #13
    Membre actif
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Points : 235
    Points
    235
    Par défaut
    Tu peux récupérer la valeur d'un champs envoyer par un formulaire de la façon suivante :

    Fichier test.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
      if(isset($_POST['NOM'])) {
        echo "Valeur du champs : ".$_POST['NOM'];
      }
      else echo "Le champs NOM n'est pas définit";
    ?>
     
    <form name="Form" method="POST" action="test.php">
     
    <input type="text" name="NOM" value="ma valeur" />
    <a href="#" onclick="Form.submit()">Envoyer</a>
     
    </form>
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Points : 54
    Points
    54
    Par défaut
    ca marche pas je comprends pas pourquoi je fais des tests pour l'affichage mais ca n'affiche rien pourtant ca rendre bien dans les conditions je comprends pas




    pour l'affichage des tests j'ai compris vu que je recharge la page il n'y a plus de parametes dans l'url donc il ne repasse pas par les boucles
    bon je regarde le reste




    Bon donc j'ai enlevé le rechargement de la page, pour pouvoir faire des test
    en fait le probleme c que j'arrive pas a faire passer ma valeur en POST
    il ne récupere rien

  15. #15
    Membre actif
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Points : 235
    Points
    235
    Par défaut
    Essaye de vérifier si la valeur de ton post est bien envoyer et d'afficher sa valeur. Pour cela ecrit juste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_POST['nom_de _mon_champs'];
    en haut de ta page et dans aucun bloc if ou autre.

    Tu aura sûrement des warning tant que tu n'aura pas envoyer ton formulaire par contre, mais c'est juste pour tester que les valeurs sont correctment envoyées.
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Points : 54
    Points
    54
    Par défaut
    Voila le code du formulaire maintenant, mais ca ne marche pas, aucun post ne passe, aaaaahhhhhhh

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <form name="Form" method="POST" action="index2.php?panier=1.php&action=1&idpdt=<? echo $cat['IDARTICLE'];?>"> 
    <table align="center" class="texte">
    <tr> 
    <td rowspan="2" align="right">
    <input name="QTE" value="<? echo $qtearticle;?>" align="right" size="1">
    <input name="idart" value="<? echo $idearticle;?>" type="hidden">
    <a href="index2.php?panier=1.php&action=1&idpdt=<? echo $cat['IDARTICLE'];?>" onclick="Form.submit()">Envoyer</a>
    </td>
    <td align="left" valign="bottom">
    <a href="index2.php?panier=1&action=ajoutun&idpdt=<? echo $cat['IDARTICLE'];?>&verif_value=<? echo $_SESSION['verif_value'];?>">
    <img src="images/boutonplus.gif" border="0">
    </a>
    </td>
    </tr>
    <tr> 
    <td align="left" valign="top">
    <?
    if ($qtearticle > 1) {?>
    <a href="index2.php?panier=1&action=supprun&idpdt=<? echo $cat['IDARTICLE'];?>&verif_value=<? echo $_SESSION['verif_value']; ?>">
    <img src="images/boutonmoins.gif" border="0">
    </a>
    <? 
    }
    ?>
    </td>
    </tr>
    </table>
    </form>

  17. #17
    Membre actif
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Points : 235
    Points
    235
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <html>
    <head>
    <title>POST</title>
    </head>
    <body>
     
    <?php
    if(isset($_POST['QTE']) && isset($_POST['idart'])) {
      echo "La quantite demandee est de : <b>".$_POST['QTE']."</b> pour l'article <b>".$_POST['idart']."</b><br />";
    }
     
    if(isset($_GET['panier'])) {
      echo "La variable GET['panier'] vaut : ".$_GET['panier']."<br />";
    }
     
    if(isset($_GET['action'])) {
      echo "La variable GET['action'] vaut : ".$_GET['action']."<br />";
    }
     
    if(isset($_GET['idpdt'])) {
      echo "La variable GET['idpdt'] vaut : ".$_GET['idpdt']."<br />";
    }
    ?>
     
    <form name="Form" method="POST" action="index.php?panier=1.php&action=1&idpdt=">
    <table align="center" class="texte">
    <tr>
    <td rowspan="2" align="right">
    <input type="text" name="QTE" value="9" />
    <input type="text" name="idart" value="18" />
     
    <!-- Ton erreur vient de la : il faut mettre # dans le href -->
     
    <a href="#" onclick="Form.submit()">Envoyer</a>
    </td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    J'ai tester ce code et il fonctionne, il y a une remarque à l'intérieur
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Points : 54
    Points
    54
    Par défaut
    Merci la c'est un grand pas en avant

    voila mon code pour la gestion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <?
    session_start();
    if(array_key_exists('action', $_GET)){
       $actionpanier=$_GET['action'];
       $idartsuppr=$_GET['idsuppr'];
     
      	if(isset($_POST['QTE']) && isset($_POST['idart'])) {
      		$idproduit=$_POST['idart'];
      		if ($_SESSION['achats'][$idproduit]['qte'] != $_POST['QTE']) {
             	$_SESSION['achats'][$idproduit] = $_POST['QTE'];
          	}
    	}
    	else
    		$idproduit=$_GET['idpdt'];
       if ($actionpanier=='supprligne'){
          unset($_SESSION['achats'][$idartsuppr]);
       }
       if ($actionpanier=='vider'){
           unset($_SESSION['achats']);
       }
       if($_SESSION['verif_value'] == $_GET['verif_value']){
           if ($actionpanier == 'AJOUT'){
                $qteart = 1;
                $idart = $_GET['id'];
                if (!isset($_SESSION['achats'][$idart])) {
                   $_SESSION['achats'][$idart] = 0;
                }
             $_SESSION['achats'][$idart] += $qteart;
          }
     
    	  if ($actionpanier=='ajoutun'){
    	     $nouvelleqte = $_SESSION['achats'][$idproduit]['qte'] + 1;
             $_SESSION['achats'][$idproduit] += $nouvelleqte;
          }
          if ($actionpanier=='supprun'){
             $nouvelleqte = $_SESSION['achats'][$idproduit]['qte'] - 1;
             $_SESSION['achats'][$idproduit] += $nouvelleqte;
          }
          $_SESSION['verif_value'] = rand(1,1000000);
       }
       ?>
     
    <?
    /*<script>
    window.location.replace('index2.php?panier=1.php');
    </script>*/
    }
    ?>
    Mon code pour le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <form name="Form" method="POST" action="index2.php?panier=1&action=1&idpdt=<? echo $cat['IDARTICLE'];?>"> 
    <table align="center" class="texte">
    <tr> 
    <td rowspan="2" align="right">
    <input name="QTE" value="<? echo $qtearticle;?>" align="right" size="1">
    <input name="idart" value="<? echo $cat['IDARTICLE'];?>" type="hidden">
    <a href="#" onclick="Form.submit()">Envoyer</a>
    </td>
    <td align="left" valign="bottom">
    <a href="index2.php?panier=1&action=ajoutun&idpdt=<? echo $cat['IDARTICLE'];?>&verif_value=<? echo $_SESSION['verif_value'];?>">
    <img src="images/boutonplus.gif" border="0">
    </a>
    </td>
    </tr>
    <tr> 
    <td align="left" valign="top">
    <?
    if ($qtearticle > 1) {?>
    <a href="index2.php?panier=1&action=supprun&idpdt=<? echo $cat['IDARTICLE'];?>&verif_value=<? echo $_SESSION['verif_value']; ?>">
    <img src="images/boutonmoins.gif" border="0">
    </a>
    <? 
    }
    ?>
    </td>
    </tr>
    </table>
    </form>
    Maintenant j'ai deux problemes :
    1 - Quand il y 11 ou 1* et bien il est impossible de mettre 1, il reste sur 1*
    2 - Si par exemple j'ai 12, je mets 5 et que je clique sur + et bien me met 11

    je comprends encore pas

  19. #19
    Membre actif
    Avatar de nicolas.pied
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Janvier 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Janvier 2005
    Messages : 249
    Points : 235
    Points
    235
    Par défaut
    Disons qu'avec ton formulaire d'achat, ton client ne risque pas de commander plus de 10 produits :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="QTE" value="<? echo $qtearticle;?>" align="right" size="1">
    size à 1 = 1 caractère, donc dans ton cas de 0 à 9. Essayes toujours, ca devrait pour sur résoudre des bugs.
    Un peu d'humour : jokes.guppix.fr
    Articles et actualités informatiques : Kbups.org
    Articles sur le développement informatique : nicolaspied.developpez.com

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Points : 54
    Points
    54
    Par défaut
    salut voila je me remets a cette partie

    bon je n'arrive pas a trouver une solution au probleme suivant :

    quand je tape un chiffre dans le input box la valeur est bonne ensuite mais
    - si je fais + ca me fait la quantite +2 ensuite c'est bon
    - si je fais - ca ne change pas la quantite la 1ere fois ensuite c'est bon

    mais je ne vois pas pourquoi

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [PHP 5.0] Comment modifier la quantité de produit existe dans le panier?
    Par hmayda dans le forum Langage
    Réponses: 1
    Dernier message: 22/09/2010, 20h59
  2. Empêcher l'ajout ultérieur d'un produit dans un panier
    Par bahamut100 dans le forum Langage
    Réponses: 9
    Dernier message: 26/11/2008, 21h46
  3. [eCommerce] Suppression de produit dans un panier
    Par sayes1 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 29/01/2008, 22h17
  4. [Conception] Ajout des produits dans un panier
    Par ghyosmik dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/09/2006, 11h17
  5. [MySQL] Ajout d'un nouveau produit dans un panier
    Par ghyosmik dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/09/2006, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo