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 :

Session et panier d'achat


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Session et panier d'achat
    Bonjour,

    je rencontre un problème avec l'utilisation des sessions php.

    Mon objectif est de créer un panier d'achat via la superglobale $_SESSION.

    Un appel à la fonction session_start() est effectué sur chaque page en début de code.

    Pour tester mon code, j'affiche dans chaque page le numéro de session par l'appel à session_id().

    Lorsque je navigue sur mon site via des formulaires (dans les pages de boutique), je n'obtiens pas le même id que lorsque je navigue via des liens html (menu html), et donc, 2 paniers différents existent.

    Auriez-vous des solutions à me suggérer?

    Merci pour votre aide,

    Cordialement.

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Bonjour.

    Vérifiez si vous n'avez pas quelque-part :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session_regenerate_id(True) ;
    Cette instruction provoque un changement d'identifiant, tout en conservant les valeurs de SESSION.
    Comme vous affichez l'identifiant, vous avez peut-être l'impression d'avoir 2 sessions, alors qu'en réalité il n'y en a qu'une !...
    Lors de vos tests il faut toujours jeter un coup d'oeil au répertoire tmp (Apache)...

    Cdlt

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    je n'utilise pas cet appel.
    Pour préciser mon problème, mon panier d'achat se vide lorsque je navigue sur mon site via des liens html.
    Je peux alors ajouter des articles dans ce nouveau panier.
    Lorsque je clique sur un formulaire de description du produit, je retrouve mon panier initial.
    Tant que je ne clique pas sur le submit de description du produit, je n'accède qu'au deuxième panier.

    Pour tester mon code, j'ai utilisé un appel à session_id() et je constate que les numéros sont différents...

    Merci pour votre aide,
    Cordialement,

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Bonjour.

    Donc c'est un problème de conception de votre application !... (puique vous jonglez avec 2 paniers)

    Quand vous testez, allez jeter à chaque étape un coup d'oeil dans le répertoire tmp !
    Vous ouvrez la ou les sessions (ce sont des fichiers txt qui se lisent avec bloc-notes) et vous examinez leur tripaille !...
    Une erreur de logique est parfois longue à débusquer, allez y progressivement, et ne vous contentez pas des seules données que vous affichez.

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Donc en résumé, tu as deux sessions ouvertes en même temps sur le même site, dans le même navigateur, et tu accèdes à l'une ou l'autre en fonction de ce que tu fais

    Aucun appel à session_regenerate_id, ni à session_id avec un paramètre ?

    On peut voir un extrait de ton code (genre les ouvertures de session sur les différentes pages) ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Réponses: 8
    Dernier message: 15/12/2013, 22h40
  2. [Système] Aide pour un script panier d achat
    Par Skippy1 dans le forum Langage
    Réponses: 3
    Dernier message: 06/01/2007, 18h03
  3. [Tableaux] Panier d'achat et tableau
    Par stefane321 dans le forum Langage
    Réponses: 1
    Dernier message: 27/09/2006, 17h10
  4. variable de session modifier panier
    Par babafredo dans le forum Langage
    Réponses: 5
    Dernier message: 06/06/2006, 03h08
  5. créer un Panier d'achat, quelle techno ?
    Par virgul dans le forum E-Commerce
    Réponses: 7
    Dernier message: 14/06/2005, 15h29

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