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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Tutoriel sur la création d'un panier en PHP [Tutoriel]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut Tutoriel sur la création d'un panier en PHP
    Cet article a pour but d'expliquer la création simple d'un panier en PHP.
    L'article
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  2. #2
    Membre averti
    Homme Profil pro
    Consultant technico-fonctionnel SAP BPC
    Inscrit en
    Février 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant technico-fonctionnel SAP BPC
    Secteur : Service public

    Informations forums :
    Inscription : Février 2009
    Messages : 40
    Par défaut merci
    Bonjour,

    Comme à chaque fois, article clair et precis.
    Je vais le mettre en application cette semaine.
    Le site pour lequel je compte l'utiliser est en lien WWW.

    Merci

  3. #3
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Citation Envoyé par yann.morineau Voir le message
    Bonjour,

    Comme à chaque fois, article clair et precis.
    Je vais le mettre en application cette semaine.
    Le site pour lequel je compte l'utiliser est en lien WWW.

    Merci
    Content qu'il puisse être utile.
    Si tu as un problème n'hésite pas a poster dans le forum PHP.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  4. #4
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Février 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2009
    Messages : 46
    Par défaut
    Bonjour RideKick.

    C'est simple et assès clair, merci.
    J'ai juste quelques questions pour la forme


    Pourquoi tu n'en a pas fais une classe ?

    Ensuite, pourquoi utilisé _REQUEST ?
    Laisser le choix entre _GET et _POST pour passer l'action est excellent, mais du coups je comprend pas pourquoi _REQUEST pour les autres paramètres (p, q et l.

    Ensuite, y'a, je pense du moins, un réèl manque de test de l'existence des variables dans certains cas de figure. (je parle évidemment d'un développement avec les erreurs PHP à E_ALL)

    Exemples :
    - $erreur n'a pas de valeur par défaut
    - si on demande 'ajout', les valeurs $l, $q et $p ne sont pas forcément déclarés, je ne suis pas allez voir les conséquences ceci dit.
    - (Je n'ai pas tout testé, y'en peut être d'autre)


    Je sais que c'est des petites choses, même si c'est pas exactement un tutoriel pour les débutants non plus... Tant qu'a faire, autant donner des bons exemples.

    Pour finir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $action = (isset($_POST['action'])? $_POST['action']:  $_GET['action']);
    Si ni POST ni GET existe, on aura un warning php.
    Il faut ici aussi soit changer la conditions, soit avoir une valeur par défaut.

    Quoi qu'il en soit, le principe est sympa, je vais essayer d'en faire une classe

    Evidemment, ceci sont des critiques que j'espère constructives et point négatives !

    Sky

  5. #5
    Membre confirmé Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par défaut
    yop, bonjour,
    as-tu finis la classe du panier, je serais fortement intéressé par celle-ci (je suis pas encore assez doué pour concevoir une classe) ?
    Merci !

  6. #6
    Membre confirmé Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par défaut
    oups j'avais pas vu tu avais posté il y a 20 min... peut être un peu léger pour concevoir une classe...

  7. #7
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Citation Envoyé par graphiks Voir le message
    Bonjour RideKick.

    C'est simple et assès clair, merci.
    J'ai juste quelques questions pour la forme
    Merci


    Citation Envoyé par graphiks Voir le message
    Pourquoi tu n'en a pas fais une classe ?
    Pour la simple et bonne raison que beaucoup de débutants s'en servent tel quel, je ferais surement un petit aparté pour la mise en classe plus tard

    Citation Envoyé par graphiks Voir le message
    Ensuite, pourquoi utilisé _REQUEST ?
    Laisser le choix entre _GET et _POST pour passer l'action est excellent, mais du coups je comprend pas pourquoi _REQUEST pour les autres paramètres (p, q et l.
    Qustion de facilité en effet, même si certains raccourcis ne sont pas forcement les plus judicieux

    Citation Envoyé par graphiks Voir le message
    Ensuite, y'a, je pense du moins, un réèl manque de test de l'existence des variables dans certains cas de figure. (je parle évidemment d'un développement avec les erreurs PHP à E_ALL)

    Exemples :
    - $erreur n'a pas de valeur par défaut
    - si on demande 'ajout', les valeurs $l, $q et $p ne sont pas forcément déclarés, je ne suis pas allez voir les conséquences ceci dit.
    - (Je n'ai pas tout testé, y'en peut être d'autre)
    Tout à fait, encore une facilité qu'offre PHP, de plus le panier est bien à mettre sur un serveur de prod donc sans erreurs apparentes.

    Citation Envoyé par graphiks Voir le message
    Je sais que c'est des petites choses, même si c'est pas exactement un tutoriel pour les débutants non plus... Tant qu'a faire, autant donner des bons exemples.
    Tu as raison

    Citation Envoyé par graphiks Voir le message
    Pour finir :
    $action = (isset($_POST['action'])? $_POST['action']: $_GET['action']);

    Si ni POST ni GET existe, on aura un warning php.
    Il faut ici aussi soit changer la conditions, soit avoir une valeur par défaut.
    Yep , j'avais la version du code avec valeur par défaut, oublie de ma part. (idem pour $erreur)

    Citation Envoyé par graphiks Voir le message
    Quoi qu'il en soit, le principe est sympa, je vais essayer d'en faire une classe


    Evidemment, ceci sont des critiques que j'espère constructives et point négatives !

    Sky
    Merci je prends toute critique positivement, merci a toi de prendre le temps de les coucher sur le forum
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  8. #8
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    à jour
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 75
    Par défaut
    Citation Envoyé par RideKick Voir le message
    Pour la simple et bonne raison que beaucoup de débutants s'en servent tel quel, je ferais surement un petit aparté pour la mise en classe plus tard
    Ce n'est pas parce que tu es débutant que t'es obligé de pondre du code PHP non-objet.... Même débutant en PHP j'utilisais de l'objet... (et c'était en PHP 4 )

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 20
    Par défaut
    Merci beaucoup pour ce tuto, il est exactement ce que je cherchais.
    J'ai tout de même une demande à faire qui je pense peut intéresser d'autres personnes.

    Je ne sais pas comment récupérer les données de $_SESSION dans une table.
    J'ai trouvé ce code sur un autre forum :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for ($i=0; $i<count($_SESSION['panier']['libelleProduit']); $i++) {
    mysql_query("INSERT INTO $tbl_name2 VALUES ('','$order_number','$myusername','".$_SESSION['panier']["libelleProduit"][$i]."','".$_SESSION['panier']["qteProduit"][$i]."','".$_SESSION['panier']["prixProduit"][$i]."','$total','$payment_','$date_hour') ") or die(mysql_error()); 
    }
    Vous pourrez peut être m'éclairer.
    Tous ces champs ne m'intéressent pas, je souhaite juste comprendre pour :
    - libelleProduit
    - qteProduit
    - prixProduit
    - MontantGlobal

    Ma table doit avoir combien de champs par rapport aux données des produits ?

    Merci par avance à celui ou celle qui me répondra.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 20
    Par défaut
    J'ai trouvé comment faire pour pratiquement tout.
    J'ai modifié ma base avec un nombre de champ fixe, j'ai 10 produits, du coup j'ai créé 10 champs pour les libellés, 10 champs pour la quantité et 10 champs pour le prix unitaire.
    Bien sûr le champ pour le prix total.

    Sur la page qui valide le panier, j'ai ajouté au début ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $libelleProduit1=(isset($_POST['libelleProduit1']))?$_POST['libelleProduit1']:Null;
    $qteProduit1=(isset($_POST['qteProduit1']))?$_POST['qteProduit1']:Null;
    $prixProduit1=(isset($_POST['prixProduit1']))?$_POST['prixProduit1']:Null;
    $libelleProduit2=(isset($_POST['libelleProduit2']))?$_POST['libelleProduit2']:Null;
    $qteProduit2=(isset($_POST['qteProduit2']))?$_POST['qteProduit2']:Null;
    $prixProduit2=(isset($_POST['prixProduit2']))?$_POST['prixProduit2']:Null;
    $libelleProduit3=(isset($_POST['libelleProduit3']))?$_POST['libelleProduit3']:Null;
    $qteProduit3=(isset($_POST['qteProduit3']))?$_POST['qteProduit3']:Null;
    $prixProduit3=(isset($_POST['prixProduit3']))?$_POST['prixProduit3']:Null;
    jusqu'à 10 ...

    Avant l'insertion dans la base j'ai mis le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if (!empty($_SESSION['panier']["libelleProduit"][0])) {
    $libelleProduit1=($_SESSION['panier']["libelleProduit"][0]); 
    }
    if (!empty($_SESSION['panier']["libelleProduit"][1])) {
    $libelleProduit2=($_SESSION['panier']["libelleProduit"][1]); 
    }
    if (!empty($_SESSION['panier']["libelleProduit"][2])) {
    $libelleProduit3=($_SESSION['panier']["libelleProduit"][2]); 
    }
    if (!empty($_SESSION['panier']["libelleProduit"][3])) {
    $libelleProduit4=($_SESSION['panier']["libelleProduit"][3]); 
    }
    jusqu'à 10 ... pareil pour la quantité et le prix.

    et dans le code d'insertion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql="INSERT INTO $table_commande (libelleProduit1, qteProduit1, prixProduit1, libelleProduit2, qteProduit2, prixProduit2, libelleProduit3, qteProduit3, prixProduit3, libelleProduit4, qteProduit4, prixProduit4, libelleProduit5, qteProduit5, prixProduit5, libelleProduit6, qteProduit6, prixProduit6, libelleProduit7, qteProduit7, prixProduit7, libelleProduit8, qteProduit8, prixProduit8, libelleProduit9, qteProduit9, prixProduit9, libelleProduit10, qteProduit10, prixProduit10, MontantGlobal) VALUES ('$libelleProduit1', '$qteProduit1', '$prixProduit1', '$libelleProduit2', '$qteProduit2', '$prixProduit2', '$libelleProduit3', '$qteProduit3', '$prixProduit3', '$libelleProduit4', '$qteProduit4', '$prixProduit4', '$libelleProduit5', '$qteProduit5', '$prixProduit5', '$libelleProduit6', '$qteProduit6', '$prixProduit6', '$libelleProduit7', '$qteProduit7', '$prixProduit7', '$libelleProduit8', '$qteProduit8', '$prixProduit8', '$libelleProduit9', '$qteProduit9', '$prixProduit9', '$libelleProduit10', '$qteProduit10', '$prixProduit10', '$MontantGlobal')";
    Mon soucis est que le montant total ne s'enregistre pas.
    Sur la page ou se trouve l'affichage du montant j'ai créé un input hidden.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    echo "<td colspan=\"2\" align=right>";
    echo "<p style=font-size:14px><b>Total : $ ".MontantGlobal();
    echo "</b></p>";
    echo "<input type=\"hidden\" id=MontantGlobal name=MontantGlobal value=".MontantGlobal();
    echo ">";
    echo "</td>";
    Mais il ne doit pas fonctionner comme il faut.
    Dans le code il n'est pas en $_SESSION, donc du coup je sais pas trop comment faire.
    Si quelqu'un pouvait m'apporter un coup de pouce, merci d'avance

  12. #12
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Merci pour ce tuto qui m'a permi de mettre un panier sur mon site.
    J'ai juste une question à propos du verrou.
    A quoi il sert?
    Comment verrouiller le panier?
    Quelles actions peut-on faire sur le panier quand il est verrouillé?

    Merci d'avance...

  13. #13
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Citation Envoyé par okoweb Voir le message
    Merci pour ce tuto qui m'a permi de mettre un panier sur mon site.
    J'ai juste une question à propos du verrou.
    A quoi il sert?
    Comment verrouiller le panier?
    Quelles actions peut-on faire sur le panier quand il est verrouillé?

    Merci d'avance...
    Bonjour,
    Le verrou sert a figer le panier avant de passer a l'étape de paiement.
    Si aucune précaution n'est prise de cote la, un utilisateur malveillant pourrait commander 10 articles dans une fenêtre et valider sa commande, juste avant de payer il pourrait dans une autre fenêtre enlever des articles de son panier pour descendre le montant lors du paiement.

    Maintenant ça dépend énormément du scenario de commande, le verrou est juste une petite sécurité minimal mais quand on a un scénario bien rodé on peut s'en passer.

    Exemple :

    - La validation du panier engendre une mise en base et une identification de la commande, ainsi qu'une purge du panier, l'étape de paiement se base sur la commande validée en base.
    - La plupart des modules de paiements aujourd'hui attendent des données envoyées par un formulaire, rendant difficile le genre de manipulations citées précédemment car l'utilisateur payerait 2 commandes différentes en arrivant 2 fois sur la page de paiement.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  14. #14
    Invité de passage
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1
    Par défaut Comment verrouille-t-on le panier ?
    Bonsoir,
    nouveau en PHP (2 mois), je ne comprend pas comment on fait pour verrouiller le panier sur la page suivante (en l'occurrence, paiement).
    Merci de me montrer un exemple...

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 15
    Par défaut
    Bonjour

    Quand on modifie plusieur quantitées d'article du panier dont une a zéro.

    Ce message s'affiche :

    Notice: Undefined offset: 1 in /.../panier.php on line 49

    la ligne 49 pour moi est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    46       Case "refresh" :
    47       for ($i = 0 ; $i < count($QteArticle) ; $i++)
    48       {
    49         modifierQTeArticle($_SESSION['panier']['libelleProduit']   [$i],round($QteArticle[$i]));
    50       }
    51       break;
    Comment résoudre se problème ?

    Merci

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 15
    Par défaut
    Bonjour

    suite au bug dont je fais mention plus haut j'ai changer ceci :

    1) pour corriger le bug sur le rafraîchissement avec une quantité a zéro
    modifier dans panier.php
    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
    Case "refresh" :
          	$a = 0;
             for ($i = 0 ; $i < count($QteArticle) ; $i++)
             {
                if($QteArticle[$i] != 0) 
                {
                	modifierQTeArticle($_SESSION['panier']['libelleProduit'][$a],round($QteArticle[$i]));
                	$a++;
                }
                else
                {
                	modifierQTeArticle($_SESSION['panier']['libelleProduit'][$a],round($QteArticle[$i]));
                }
             }
             break;
    explication : la valeur de $i est celle de l'ancien panier mais celui-ci est modifier lors de la suppression d'un article. $a prend donc la valeur du nouveau panier.

    2) pour éviter les erreurs avec les nombres négatif (en effet un client peu modifier la quantiter par -10 par ex.)
    modifier dans panier.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //On traite $q qui peut etre un entier simple ou un tableau d'entier
     
       if (is_array($q)){
          $QteArticle = array();
          $i=0;
          foreach ($q as $contenu){
          	$valeur = intval($contenu);
          	if($valeur <= 0) { $QteArticle[$i++] = 0 ; }
          	else { $QteArticle[$i++] = $valeur ; }
     
          }
       }
    Voilà

    Il ma fallu du temp pour résoudre ses bug.
    J'espère que sa pourra aidé

  17. #17
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Bonjour et merci de ton intérêt pour la panier !

    En effet il y'a un bug concernant la quantité des articles à 0.
    Comme tu l'as dis le panier change puisque ça supprime l'article donc l'index du produit n'est plus bon.

    Pour le 2eme "bug", il y'à déjà un cas prévu pour ça dans la fonction de modification de l'article :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //Si la quantité est positive on modifie sinon on supprime l'article
          if ($qteProduit > 0)
          {
             //Recharche du produit dans le panier
             $positionProduit = array_search($libelleProduit,  $_SESSION['panier']['libelleProduit']);
     
             if ($positionProduit !== false)
             {
                $_SESSION['panier']['qteProduit'][$positionProduit] = $qteProduit ;
             }
          }
          else
          supprimerArticle($libelleProduit);
    Merci à toi
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 15
    Par défaut
    Bonjour

    en effet cela vient de mon code de bug concernant la quantité des articles à 0.

    j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($QteArticle[$i] != 0)
    alors qu'il faut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if($QteArticle[$i] <= 0)
    Merci

    édit : Ce srais bien de mettre le tuto a jour

  19. #19
    Invité de passage
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1
    Par défaut un petit oubli ? ou une grosse paire de lunettes pour moi ?
    Citation Envoyé par paul01 Voir le message
    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
    Case "refresh" :
          	$a = 0;
             for ($i = 0 ; $i < count($QteArticle) ; $i++)
             {
                if($QteArticle[$i] != 0) 
                {
                	modifierQTeArticle($_SESSION['panier']['libelleProduit'][$a],round($QteArticle[$i]));
                	$a++;
                }
                else
                {
                	modifierQTeArticle($_SESSION['panier']['libelleProduit'][$a],round($QteArticle[$i]));
                }
             }
             break;
    explication : la valeur de $i est celle de l'ancien panier mais celui-ci est modifier lors de la suppression d'un article. $a prend donc la valeur du nouveau panier.
    Salut paul01, à quel moment tu précise quel libellé doit se voir ajouter une quantité ? Avec ce code, dans le cas d'un panier avec plusieurs articles, il m'est impossible d'ajouter une quantité dans le formulaire du panier, comment se fait-il ?

    ---> en fait, la quantité ne va pas dans le bon article ... comment se fais-ce ?

  20. #20
    Invité de passage
    Femme Profil pro
    Inscrit en
    Août 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2011
    Messages : 1
    Par défaut Besoin d'aide
    Bonjour,

    Débutante en php, je me suis lancée dans la programmation d'un site e-commerce. J'avance bien mais bloque sur le panier. Incapable d'en créer un moi même j'ai (j'avoue c'est pas beau ) copié le script de jc Rozier.
    Problème : une fois la sélection faite par le client du produit, quantité et prix sur mon site (listes déroulantes), le panier n'affiche que la première lettre/chiffre de la sélection. Pourriez vous m'indiquer la modification à apporter à votre script ?
    Merci beaucoup...

    P.S : je galère vraiment et ne sais pas quoi faire du tout

Discussions similaires

  1. [Joomla!] [Joomla 1.6] Recherche bon tutoriel sur la création d'extension
    Par MtgCmg dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 30/06/2011, 14h00
  2. [eCommerce] Toujours à propos du tutoriel sur la création d'un panier en PHP
    Par patriciaprovence dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 03/09/2010, 20h12
  3. Question sur la création d'un panier en PHP
    Par hotinno dans le forum Langage
    Réponses: 2
    Dernier message: 14/03/2010, 14h45
  4. Réponses: 5
    Dernier message: 17/04/2009, 15h12

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