Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/03/2011, 15h08   #1
Membre du Club
 
Avatar de jesslegende
 
Développeur informatique
Inscription : août 2009
Messages : 156
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2009
Messages : 156
Points : 66
Points : 66
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
jesslegende est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 17h41   #2
Membre émérite
 
Avatar de alain31tl
 
Alain
Inscription : novembre 2005
Messages : 897
Détails du profil
Informations personnelles :
Nom : Alain
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : novembre 2005
Messages : 897
Points : 910
Points : 910
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 :
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.
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.
alain31tl est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 12/03/2011, 18h12   #3
Membre du Club
 
Avatar de jesslegende
 
Développeur informatique
Inscription : août 2009
Messages : 156
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2009
Messages : 156
Points : 66
Points : 66
bonjour, je te remercie pour ton aide.

est que tu peux m'expliquer la difference entre:
Citation:
Envoyé par alain31tl Voir le message
Code :
1
2
$_SESSION['truc'] = $truc; // Variable privée
$_SESSION['machin'] = $machin; // Variable privée
et:
Citation:
Envoyé par alain31tl Voir le message
Code :
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.
jesslegende est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 18h24   #4
Membre émérite
 
Avatar de alain31tl
 
Alain
Inscription : novembre 2005
Messages : 897
Détails du profil
Informations personnelles :
Nom : Alain
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : novembre 2005
Messages : 897
Points : 910
Points : 910
C'est vrai.
Mais c'est ta base de données qui fait la différence.

Dans celle-ci :
Code :
1
2
$_SESSION['truc'] = $truc; // Variable privée
$_SESSION['machin'] = $machin; // Variable privée
Soit : Elles sont uniques et aucunes ne se ressemblent.

Code :
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.
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.
alain31tl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 18h37   #5
Membre du Club
 
Avatar de jesslegende
 
Développeur informatique
Inscription : août 2009
Messages : 156
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2009
Messages : 156
Points : 66
Points : 66
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 ?
jesslegende est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 19h04   #6
Membre émérite
 
Avatar de alain31tl
 
Alain
Inscription : novembre 2005
Messages : 897
Détails du profil
Informations personnelles :
Nom : Alain
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : novembre 2005
Messages : 897
Points : 910
Points : 910
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 :
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.
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.
alain31tl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 19h30   #7
Membre du Club
 
Avatar de jesslegende
 
Développeur informatique
Inscription : août 2009
Messages : 156
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2009
Messages : 156
Points : 66
Points : 66
Citation:
Envoyé par alain31tl Voir le message
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 :
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.
oui j'ai bien saisi ça depuis ta premiére intervention mais vu que ça concerne plus coté manipulation de base de données ou de données elle même c'était un peu plus avancée par rapport à mon problème ou j'était bloqué dans les possibilitées pour faire ce partage et comment le faire. mais là ça va mieux

je te remercie beaucoup pour ton aide
jesslegende est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 19h31   #8
Membre émérite
 
Avatar de alain31tl
 
Alain
Inscription : novembre 2005
Messages : 897
Détails du profil
Informations personnelles :
Nom : Alain
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : novembre 2005
Messages : 897
Points : 910
Points : 910
Juste un aparté. ( Ce n'est pas une critique )

Je vois que tu es développeur informatique et que tu veux, depuis un projet ou une idée, développer en aval.
Ce n'est pas ma philosophie et elle peut être discutable.

Mais personnellement, je préfére de loin développer en amont, et suivant ce schéma :

1 - Quelle destination finale ? // Je veux que....
2 - Quels besoins pour aboutir à 1 ?
3 - Quels moyens pour aboutir à 2 ? ( scripts, db, sessions, identification, etc...)

D'ordinaire, je fais celà sur un simple bout de papier, un check-list en quelque sorte.
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.
alain31tl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 19h44   #9
Membre du Club
 
Avatar de jesslegende
 
Développeur informatique
Inscription : août 2009
Messages : 156
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2009
Messages : 156
Points : 66
Points : 66
je te remercie pour ce conseil les conseils sont les bienvenu biensur,
mais en étant développeur je suis au courant qu'il faut procéder par ce bout de papier le problème réside dans les moyens necessaires, vu que je n'ai que moins d'un ans en php j'ai encore quelque problèmes pour m'en servir des moyens offerts par ce dernier.
encore un merci pour le conseil c'est trés gentil
jesslegende est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 23h16   #10
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
J'ajoute ma pierre à l'édifice.

Comme son nom l'indique les variables de sessions sont faites pour les sessions (par utilisateur). Je te conseille plutôt de créer des variables d'application séparées des sessions qui seront vu par tous les utilisateurs.

Ces variables peuvent être en base de données, dans un fichier ou en cache mémoire. PHP contrairement à d'autres langages n'en a pas, il faudra donc créer ta propre API ou en réutiliser une existante.

Un exemple au pif:
http://www.tek-tips.com/faqs.cfm?fid=1825
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h28.


 
 
 
 
Partenaires

Hébergement Web