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

PHP & Base de données Discussion :

Récupérer une Session grâce à son ID


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2018
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Récupérer une Session grâce à son ID
    Bonjour à tous,

    J'ai un souci que je n'arrive pas à résoudre. J'ai fait un petit site avec un panier. L'ensemble du panier est stocké dans une session.
    Tout fonctionne bien.

    Le souci que j'ai c'est que mon moyen de paiement (Paybox - qui m'a été imposé) renvoi l'autorisation du paiement de serveur à serveur. Le problème que j'ai c'est qu'au moment où le serveur de Paybox appelle ma page d'autorisation (c'est sur cette page que je créé la commande si paiement ok) il n'a pas les informations de Session pour pouvoir créer la commande (à partir de la session panier).

    Je m'étais dit que j'aurai pu recréer la session par son id mais visiblement cela ne fonctionne que si on a le Cookie. Cela parait logique.

    Du coup je me demande s'il y a un moyen de récupérer la session panier de l'utilisateur, quand Paybox appelle ma page de création de commande.

    Est-ce que quelqu'un aurait une idée ?

    Sinon auriez vous une idée plus générale afin de bien gérer cet aspect des choses entre la session créée pour le panier et Paybox qui appelle de manière indépendante la page de création de la commande de serveur à serveur ?

    Je précise que l'on peut préciser des variables à Paybox (ex: Id de session) qu'il nous renverra en POST au moment de l'appel de la page création de commande.

    Par avance merci à tous.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    tu te trompes dans la méthodologie.

    1- on enregistre la commande en BDD (INSERT)
    2- on récupère l'id_commande (last insert id)
    3- on peut alors envoyer cet id_commande en paramètre à Paybox
    4- au retour, on utilise ce paramètre pour récupérer les infos de commande en BDD

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2018
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci de ta réponse. En fait ce n'est pas cela.

    Toutes les infos du panier (et du client) sont stockées en Session avant d'être insérées en BDD.
    Je ne peux pas faire mon insert de la commande en BDD tant que je n'ai pas eu le Ok de Paybox (qui dit que la transaction est acceptée). Comme je disais Paybox va appeler la page de mon choix de serveur à serveur pour me donner le "ok". Et c'est seulement sur cette page que je pourrais faire mon insert en BDD (je ne peux pas faire d'insert tant que la transaction n'a pas été acceptée).
    Le problème est que toutes les infos pour faire l'insert sont en Session. Et si Paybox appelle ma page de manière indépendante il n'aura pas accès à la session du client.

    D'ou ma question de savoir s'il était possible de récupérer la session du client (par son ID) lorsque Paybox appelle ma page ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    J''avais bien compris.

    Et toujours NON.

    1- On enregistre D'ABORD en BDD.
    Avec une colonne paiement_valide à false (par exemple)

    2- Quand on récupère la réponse de Paybox, on MODIFIE la ligne en BDD (UPDATE -> paiement_valide : true)


    En effet, si tu enregistres seulement APRES, rien ne garantit que la connexion n'a pas été coupée (perte de la SESSION), ou que le paiement n'a pas été abandonné, ou autre...
    Auquel cas, tu auras perdu TOUTES les infos de la commande.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2018
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Effectivement cette solution parait être bonne et la plus fiable. Je vais donc faire comme cela. L'idée de pouvoir récupérer la session paraissait moins fastidieuse. Mais je pense que cela n'est pas possible comme je le disais à cause du cookie.

    Merci pour ton aide.

    P.S : je ne passe pas le sujet en résolu car nous n'avons pas de certitude que récupérer une session (voir 1er post) est possible ou non. Si quelqu'un passe par là et a la réponse ;-)

Discussions similaires

  1. Récupérer objet d'une enum grâce à son ordre
    Par piotrr dans le forum Langage
    Réponses: 1
    Dernier message: 21/11/2008, 15h28
  2. Coller avec liaison une cellule grâce à son nom
    Par Remkix dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/10/2007, 15h09
  3. récupérer une session
    Par mouvma dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 17/09/2007, 12h40
  4. Récupérer une image de son formulaire
    Par cdevl32 dans le forum Langage
    Réponses: 6
    Dernier message: 06/09/2007, 23h56
  5. [ TOMCAT ] récupérer une session PHP
    Par greatmaster1971 dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 20/01/2006, 12h10

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