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 :

comment partager des données entre les sessions


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de jesslegende
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Par défaut comment partager des données entre les sessions
    bonjour,
    j'ai quelque données et je souhaite les faire partager entre des sessions et tout en arrivant à distinger mes sessions à partir d'autre sessions.
    est ce possible de faire pareil ? si oui comment devrai-je procéder ?
    merci d'avance

  2. #2
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Citation Envoyé par jesslegende Voir le message
    bonjour,
    j'ai quelque données et je souhaite les faire partager entre des sessions et tout en arrivant à distinger mes sessions à partir d'autre sessions.
    Bonjour

    Qui dit "partage" dit inévitablement "variables de sessions communes".

    A préciser aussi que tu ne peux pas distinguer une session par rapport à une autre ( Mauvaise piste ), mais il y a bien plus simple si tu sais maîtriser les sessions PHP.
    En revanche, tu peux distinguer des variables de sessions personnelles, et celles qui sont communes à tous.
    En pratique, c'est trés simple quand on s'y interresse.

    Je m'explique :
    Lorsque tu inities ta session de base et par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $_SESSION['truc'] = $truc; // Variable privée
    $_SESSION['machin'] = $machin; // Variable privée
    $_SESSION['bidule'] = $bidule; // Variable commune
    $_SESSION['chose'] = $chose; // Variable commune
    Dans les commentaires, tu observeras que certaines variables sont propres à l'utilisateur (privée), et que d'autres sont communes à l'ensemble des utilisateurs (commune).

    Ce qui sous-entend que les variables de sessions communes sont donc exploitables par tous, ou visibles par tous, selon.
    A partir de là, tu fais ce que tu veux.
    Le tout est bien entendu conditionné par la façon dont ta base de données est élaborée.
    C'est par là qu'il faut commencer.

  3. #3
    Membre confirmé Avatar de jesslegende
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Par défaut
    bonjour, je te remercie pour ton aide.

    est que tu peux m'expliquer la difference entre:
    Citation Envoyé par alain31tl Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_SESSION['truc'] = $truc; // Variable privée
    $_SESSION['machin'] = $machin; // Variable privée
    et:
    Citation Envoyé par alain31tl Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $_SESSION['bidule'] = $bidule; // Variable commune
    $_SESSION['chose'] = $chose; // Variable commune
    parce que il me parait que c'est la même ecriture !

    en fait ce que je souhaite faire et créer un variable partager entre toute les sessions afin de pouvoir compter le totale des sessions ouvertes c'est possible avec les fichiers global.asax en asp.net en declarant une variable de visibilité public shared et je suis sur qu'on peut faire pareil avec le php puisque tout est sur le serveur.

  4. #4
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    C'est vrai.
    Mais c'est ta base de données qui fait la différence.

    Dans celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_SESSION['truc'] = $truc; // Variable privée
    $_SESSION['machin'] = $machin; // Variable privée
    Soit : Elles sont uniques et aucunes ne se ressemblent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_SESSION['bidule'] = $bidule; // Variable commune
    $_SESSION['chose'] = $chose; // Variable commune
    Soit : Ce sont strictement les mêmes, voire via des identifiants identiques (this_id).

    Ensuite, c'est une question de maniplulation de ces données (script php ou mysql).

    Remarque, une session s'ouvre sur le navigateur de l'utilisateur. Ce qui signifie que ce dernier ne peut absolumment pas savoir combien de sessions sont ouvertes chez d'autres.

  5. #5
    Membre confirmé Avatar de jesslegende
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Par défaut
    Citation Envoyé par alain31tl Voir le message
    Remarque, une session s'ouvre sur le navigateur de l'utilisateur. Ce qui signifie que ce dernier ne peut absolumment pas savoir combien de sessions sont ouvertes chez d'autres.
    cela signifie aussi que le serveur ne peut savoir combien de session sont ouverte sauf en cas d'interaction avec le client ?

    donc si je me trompe pas je dois prendre ces variables de session et les enregistrer soit sur des fichiers soit en db ?

  6. #6
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Il semble évident qu'avant de transformer des variables, en variables de sessions, qu'elles doivent être connues.
    Par exemple :
    - Venant d'un formulaire
    - Venant d'une db.

    Pour ta première interrogation, il est tout à fait possible de savoir combien de sessions ont été ouvertes tel ou tel jour, si tant est qu'elles soient enregistrées en db au moment de l'identification.
    Mais celà ne va pas résoudre ton probléme de fond.

    En fait, j'essaye de t'amener sur un chemin théorique pour que tu puisses exploiter ce "partage".

    En concordance avec ce que je disais precedemment, la grosse différence :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Je veux aller et voir... WHERE truc ='$truc'
    //Il n'y en a qu'un seul qui peut y aller.
    Je veux aller et voir... WHERE chose ='$chose'
    //Tous peuvent y aller.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [javaBean + JSP] comment partager un objet entre les page JSP
    Par subzero82 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 31/05/2006, 18h48
  2. [ADO.Net][VB.NET] Comment copier des données entre deux BDD différentes ?
    Par maddog2032 dans le forum Accès aux données
    Réponses: 6
    Dernier message: 06/06/2005, 11h01
  3. Réponses: 3
    Dernier message: 20/01/2005, 19h19
  4. Comment récuperer des données entrées au clavier?
    Par Elisée A. dans le forum MFC
    Réponses: 2
    Dernier message: 13/02/2004, 07h22

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