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 :

Création d'un panier en PHP dans un site HTML sans BDD


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut Création d'un panier en PHP dans un site HTML sans BDD
    Bonjour,

    j'ai cherché de l'aide pour créer un panier PHP. Et j'ai trouvé un tuto très interessant à cete adresse :
    http://jcrozier.developpez.com/articles/web/panier/
    Mon souci : Il doit y avoir des récupérations de variables (ou variables à modifier) dans la source HTML de ma page Web, mais où ? lesquelles modifier ?
    Dois-je rajouter des ID supplémentaires sur ma page web ?

    Merci beaucoup.
    Bonne soirée

    Ju'

  2. #2
    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
    Points : 12 572
    Points
    12 572
    Par défaut
    Si tu n'as pas de BDD , tu peux directement insérer un lien HTML a coté de chacun de tes produits en renseignant les champs en majuscule a la main .


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="panier.php?action=ajout&amp;l=LIBELLEPRODUIT&amp;q=QUANTITEPRODUIT&amp;p=PRIXPRODUIT" onclick="window.open(this.href, '', 'toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350'); return false;">Ajouter au panier</a>
    Le reste marche de la même manière.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut Création d'un panier en PHP dans un site HTML sans BDD
    Bonjour !

    Ok bon j'ai renseigné les champs en question directement sur le lien, et effectivement ça fonctionne. Mais quand je clique sur rafraichir ça me met :

    Notice: Undefined index: l in c:\programmes\easyphp1-8\www\panier.php on line 31
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $l = preg_replace('#\v#', '',$_POST['l']);
    Notice: Undefined index: p in c:\programmes\easyphp1-8\www\panier.php on line 33

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $p = floatval($_POST['p']);
    J'ai une erreur dans le fichier panier.php aussi :
    echo '<?xml version="1.0" encoding="iso-8859-1"?>';?>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> 
    <head>
    <title>Votre panier</title>
    </head>
    <body>

    Et quand je clique sur "ACTION" (sur "XX" qu'il y a jsute en dessous" ça me mets

    Notice: Undefined index: q in c:\programmes\easyphp1-8\www\panier.php on line 15
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $q = intval($_GET['q']);
    Notice: Undefined index: p in c:\programmes\easyphp1-8\www\panier.php on line 17
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $p = floatval($_GET['p']);
    C'est dur d'être novice...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut Création d'un panier en PHP dans un site HTML sans BDD
    JE me suis trompé j'ai mal copié collé le code j'avais oublié la 1ère ligne dans la balise CODE

    L'erreur doit se situer dedans je pense :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    echo '<?xml version="1.0" encoding="iso-8859-1"?>';?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> 
    <head>
    <title>Votre panier</title>
    </head>
    <body>
    Merci

  5. #5
    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
    Points : 12 572
    Points
    12 572
    Par défaut
    Typiquement y 'a un soucis de conflit avec les variables POST et GET , tu es sur d'avoir pris tout le code correctement ?

    J'ai jamais eu de retour sur un conflit de ce style , moi même quand j'ai monté le script il n'y avait pas d'erreurs .

    pour la ligne du Xml tu peux l'enlever si elle te gêne.

    Il doit y avoir une erreur quelque part on va bien trouver

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut
    yesss j'ai enlevé la ligne xml et je n'ai plus d'erreur là dessus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    echo '<?xml version="1.0" encoding="iso-8859-1"?>';?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> 
    <head>
    <title>Votre panier</title>
    </head>
    <body>
    c'est déjà ça.
    Mais j'ai toujours les ligne 31, 33 , 15 et 17 signalées en erreur, sur tout mon site j'ai toujours été en méthode POST, je ne sais pas si ça a un rapport avec ton script... Et je pense que ce n'est pas non plus une erreur de syntaxe... arf..

  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
    Points : 12 572
    Points
    12 572
    Par défaut
    tu peux me montrer un exemple de lien d'appel au panier ?

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <A HREF="../../panier.php?action=ajout&l=NetStation%20I2000&q=1&p=764.24%20%80%20ttc" ONCLICK="window.open(this.href, '', 'toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=850, height=550'); return false;" ONMOUSEOUT="MM_swapImgRestore()" ONMOUSEOVER="MM_swapImage('Imprimer1111111','','../../images/boutons/commander_on.jpg',1)" TARGET="_blank"><IMG NAME="Imprimer1111111" BORDER="0" SRC="../../images/boutons/commander_off.jpg" WIDTH="170" HEIGHT="38" ONMOUSEOVER="MM_displayStatusMsg('Pour passer commande');return document.MM_returnValue" ALT="Passer commande"></A>

  9. #9
    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
    Points : 12 572
    Points
    12 572
    Par défaut
    on est d'accord ce code sert a ajouter un objet dans le panier ?
    si tu veux l'afficher juste tu ne procède pas ainsi ?

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut
    on est d'accord ! ce lien sert a ajouter au panier.
    Pour l'afficher depuis le site.. euh... je ne sais pas

    Quand on est dasn le panier, Je pensais à créer un bouton retour vers la page precedente sans fermer la page panier courante.

    Le must serait aussi d'afficher le nombre d'articles dasn le panier, sur les pages du site, mais je ne sais pas tout a fait comment reprendre la variable "q"

    Enfin, cela dit, çe ne résoudra pas les erreurs que ça me marque

  11. #11
    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
    Points : 12 572
    Points
    12 572
    Par défaut
    pour afficher le panier il suffit d'appeler panier.php
    pour afficher le nombre d'articles dans le panier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo count($_SESSION['panier']['libelleProduit']);
    Edit : je ferais un test chez moi ce soir pour voir si j'arrive a reproduire tes erreurs car si tu as pris le code comme il se doit ça devrait fonctionner

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo count($_SESSION['panier']['libelleProduit']);
    ça c'est ne nombre d'articles différents, et non le nombre d'articles en tout.

    Ha là je ne sais pas ce que j'ai fait, il vient de me faire une erreur aux ligne 49 et 51 qui sont :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($erreur==false){
     
     switch($action){

    Dans ton code, y a t il des choses a modifier en focntion de ma page et que j'aurais oubliées ?

  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
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par ju0123456789 Voir le message
    Dans ton code, y a t il des choses a modifier en focntion de ma page et que j'aurais oubliées ?
    Le code est livré "clef en main" donc non , il n'y a rien a ajouter/modifier pour qu'il fonctionne.

    Edit : pour les articles différents tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo array_sum($_SESSION['panier']['qteProduit']);

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut
    tu déchires !! MERCI
    Je ne sais pas encore comment on fait les multiplications lol

    Les lignes 49 et 51 s'affichent en erreur quand je regarde simplement le panier.

    Petite question:
    pour le moment je ne peux pas tester en ligne, mais qu'en local grâce à EasyPHP qui intègre une plateforme PHP, mais sur le serveur de mon boulot, pour le moment, il n'y a pas de plateforme PHP donc je ne peux pas tester en ligne, et je voudrais savoir comment ça se passe si 2 utilisateurs connectés en même temps sur le site ? ça leur fera pareil que moi là en local ? ou ça risque de créer des conflits entre les 2 ? (a priori je pense que ça travail côté client, mais je préfère êter sûr...)

  15. #15
    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
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par ju0123456789 Voir le message
    Les lignes 49 et 51 s'affichent en erreur quand je regarde simplement le panier.
    si tu pouvais me faire peter les erreurs , ça serait plus pratique .

    Citation Envoyé par ju0123456789 Voir le message
    Petite question:
    pour le moment je ne peux pas tester en ligne, mais qu'en local grâce à EasyPHP qui intègre une plateforme PHP, mais sur le serveur de mon boulot, pour le moment, il n'y a pas de plateforme PHP donc je ne peux pas tester en ligne, et je voudrais savoir comment ça se passe si 2 utilisateurs connectés en même temps sur le site ? ça leur fera pareil que moi là en local ? ou ça risque de créer des conflits entre les 2 ? (a priori je pense que ça travail côté client, mais je préfère êter sûr...)
    Pas de conflit , a un utilisateur correspond une session , donc chacun verra son propre panier.

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut
    désolé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($erreur==false){
     
     switch($action){

  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
    Points : 12 572
    Points
    12 572
    Par défaut
    ça c'est le code , moi j'aimerais que tu me donne les erreurs qui sont renvoyées quand tu exécute le code.

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut
    lol on y arrivera

    Notice: Undefined variable: erreur in c:\programmes\easyphp1-8\www\panier.php on line 49

    Notice: Undefined variable: action in c:\programmes\easyphp1-8\www\panier.php on line 51



  19. #19
    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
    Points : 12 572
    Points
    12 572
    Par défaut
    Effectivement c'est coherent .

    Dans le fichier panier.php apres le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include_once("fonctions-panier.php");
    tu vas rajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $erreur=false;
    $action="";
    Je vais corriger ça dans l'article , sur certaines config ça doit effectivement poser problème.

  20. #20
    Membre émérite Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2004
    Messages : 897
    Points : 2 276
    Points
    2 276
    Par défaut
    Ce sont pas tellement des erreurs, mais des notices qui indique que la variable est pas défini avant.
    J'ai souvent eu cela en passant d'un serveur local à un serveur de production.

    Pour le résoudre sur les $_POST[] un isset() même inutile évite ce genre de message.
    Il y as aussi un moyen de masquer les Notices, mais bon je ne serai pas comment, et on ma toujours conseillé de laisser l'affichage de cela.

    Cdt.

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

Discussions similaires

  1. Tutoriel sur la création d'un panier en PHP
    Par RideKick dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 53
    Dernier message: 10/03/2020, 09h59
  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, 21h12
  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, 15h45
  4. création d'un moteur de recherche dans un site
    Par hedi_wazo2001 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 14/12/2006, 17h23
  5. Intégrer du php dans un code HTML ...
    Par Le Parrain dans le forum Langage
    Réponses: 15
    Dernier message: 13/04/2006, 11h29

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