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 :

Aide panier php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2009
    Messages : 33
    Par défaut Aide panier php
    Bonjour à vous,

    Je suis en galère pour la création d'un panier php pour un site marchand.
    Voici mon code:
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    <code type="php">
    <?php
    if(isset($_POST['libelle']))
    $libelle=$_POST['libelle'];
    else $libelle=NULL;
     
     
     
     
    function ajout($select)
    {
        array_push($_SESSION['panier']['libelle'],$select['lib']);
        array_push($_SESSION['panier']['qte'],$select['qte']);
     
        array_push($_SESSION['panier']['prix'],$select['prix']);
    }
     
     
     
     
    /* On vérifie l'existence du panier, sinon, on le crée */
    if(!isset($_SESSION['panier']))
    {
        /* Initialisation du panier */
        $_SESSION['panier'] = array();
        /* Subdivision du panier */
       	$_SESSION['panier']['libelle'] = array();
    	$_SESSION['panier']['qte'] = array();
        $_SESSION['panier']['prix'] = array();
    }
     
    $select['lib'] = "cm123456";
    $select['qte'] = 4;
    $select['prix'] = 32.45;
    array_push($_SESSION['panier']['libelle'],$select['lib']);
    array_push($_SESSION['panier']['qte'],$select['qte']);
    array_push($_SESSION['panier']['prix'],$select['prix']);
     
    $select['id'] = "vm654321";
    $select['qte'] = 1;
    $select['prix'] = 434.95;
     
    array_push($_SESSION['panier']['libelle'],$select['lib']);
    array_push($_SESSION['panier']['qte'],$select['qte']);
    array_push($_SESSION['panier']['prix'],$select['prix']); 
     
    $select['lib'] = "osef";
    $select['qte'] = 6;
    $select['prix'] = 789.95;
    ajout($select);				
     
     
    /* Affichons maintenant le contenu du panier : */
     
     
    var_dump($_SESSION['panier']);
     
     
    ?>
    </code>
    Et voici ce que j'obtiens:

    <code type="html">
    array(3) { ["libelle"]=> array(3) { [0]=> string(8) "cm123456" [1]=> string(8) "cm123456" [2]=> string(4) "osef" } ["qte"]=> array(3) { [0]=> int(4) [1]=> int(1) [2]=> int(6) } ["prix"]=> array(3) { [0]=> float(32.45) [1]=> float(434.95) [2]=> float(789.95) } }
    </code>

    Jusque là tout est normal sauf que les résultats ne sont pas enregistrer dans le panier, si je supprime les ajouts du code, je me retrouve avec un panier vide alors qu'il devrait les garder en mémoire non?

    Je suis vraiment débutant en php et j'espère un peu d'aide :p

    Merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Bonjour,

    Les sessions php doivent être démarrées avec
    Par ailleurs une ecriture plus légère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array_push($_SESSION['panier']['libelle'],$select['lib']);
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['panier']['libelle'][] = $select['lib'];
    Et sinon moi j'aurais plutot rassemblé les elements traitant du meme article :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function ajout($select)
    {
    $_SESSIONS['panier'][] = array("libelle"=>$select['lib'], "qte"=>$select['qte'], "prix"=>$select['prix']);
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2009
    Messages : 33
    Par défaut
    salut, merci pour ta réponse.

    En fait cette page est inséré dans l'index grâce à un include, et il y a bien un session_start() en haut de l'index.

    Si j'en remet dans cette page, ça me dit que la session est deja ouverte

Discussions similaires

  1. [eCommerce] Demande d'aide panier.php
    Par calimero83 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 23/11/2011, 01h29
  2. [eCommerce] Demande aide pour modifier 1 ligne dans panier.php
    Par patriciaprovence dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 07/10/2008, 09h06
  3. [Wamp] Aide en PHP
    Par 18Marie dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 05/05/2006, 16h53
  4. [EasyPHP] Ecrire dans un fichier .conf à l'aide de Php
    Par Zanspi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 31/03/2006, 09h40
  5. Besoin d'aide sur PHP/MyAdmin
    Par fabris dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 30/03/2006, 20h54

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