Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 04/06/2011, 10h15   #1
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 709
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juillet 2006
Messages : 709
Points : 328
Points : 328
Par défaut Espace membre : niveau d'accès

Bonjour à tous,
Sur mon site, j'ai un espace membres fonctionnel. Ce que je souhaite actuellement c'est définir des niveaux d'accès et de les ajouter aux membres. En parcourant le web, j'ai lu ceci dans un forum :
Citation:
Passe par des tests bit à bit.
Chaque niveau doit être un carré de 2.
Ainsi tu as:
1 2 4 16 32 64 128 etc...

Après tu peux cumuler les droits en additionnant.

Exemple:
- admin = 1
- moderateur = 2
- vip = 4
- membre = 8

Tu as:
- toto => membre + modérateur + admin = 8 + 2 + 1 = 11
- tata => membre + modérateur = 8 + 2 = 10
- tutu => membre = 8

Les tests de conditions seraient:
- toto & membre => true
- tata & admin => false
- tata & modérateur => true

Ainsi, les droits sont gérés beaucoup plus facilement.
Tu as juste à dire, machin est un ... et aussi un ... ainsi qu'un ... etc...
Quelqu'un pourrait m'aiguiller à mettre sur pieds cela ? Côté bdd et coté code php...

Merci d'avance...
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2011, 20h57   #2
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 709
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juillet 2006
Messages : 709
Points : 328
Points : 328
Je tiens surtout sur l'addition de droits, un membre x pouvant être en même temps modérateur et admin...

Merci d'avance...
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 15h16   #3
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
Il te faut une table des droits,
Code :
1
2
id : 1 libelle : admin
id : 2 libelle : modérateur...
Et une table de relation avec tes membres
Code :
1
2
3
id_utilisateur : 123 id_droit : 1
d_utilisateur : 123 id_droit : 2
d_utilisateur : 231 id_droit : 2
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/06/2011, 18h22   #4
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 709
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juillet 2006
Messages : 709
Points : 328
Points : 328
@gwharl : merci mais quelqu'un aurait une idée sur l'addition fine des droits
Citation:
- toto => membre + modérateur + admin = 8 + 2 + 1 = 11
- tata => membre + modérateur = 8 + 2 = 10
- tutu => membre = 8

Les tests de conditions seraient:
- toto & membre => true
- tata & admin => false
- tata & modérateur => true
Merci d'avance...
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 19h55   #5
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
Ton idée est applicable mais personnellement je n'y adhère pas, tout simplement car par exemple si la somme des droits est 10, il existe de nombreuses façon d'obtenir ce résultat, c'est un coup à s’emmêler les pinceaux et à faire des erreurs dans les droits.
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 23h31   #6
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 246
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 246
Points : 1 504
Points : 1 504
pourquoi ne pas s'inspirer de linux/unix...
le principe de read,write,execute (en bits)

par exemple :
admin = 100(base2) => 4(base10)
modo = 10(base2) => 2(base10)
user = 1(base2) => 1(base10)
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 11h34   #7
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 709
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juillet 2006
Messages : 709
Points : 328
Points : 328
Citation:
Envoyé par Doksuri Voir le message
pourquoi ne pas s'inspirer de linux/unix...
le principe de read,write,execute (en bits)

par exemple :
admin = 100(base2) => 4(base10)
modo = 10(base2) => 2(base10)
user = 1(base2) => 1(base10)
Puis-je avoir un lien pour m'en inspirer?

Merci d'avance...
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 16h24   #8
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 246
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 246
Points : 1 504
Points : 1 504
linux.developpez.com/acls/
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 12h34   #9
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 709
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juillet 2006
Messages : 709
Points : 328
Points : 328
Citation:
Envoyé par Doksuri Voir le message
Merci pour le lien.
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 11h35   #10
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 709
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juillet 2006
Messages : 709
Points : 328
Points : 328
J'ai opté pour la solution de @gwharl, à savoir créer 2 tables, une pour droits et l'autre pour droits_membre.
J'ai créé donc un membre Ilona (id:2) qui a les droits admin (1) et editeur (2) donc sur la table droits_membre on a :
membre_id : 2, droit_id 1;
membre_id : 2, droit_id 2;

Dans les pages Php, après qu'un membre s'est identifié, je crée un variable de session renfermant un array des droits de ce membre de cette manière pour le membre Ilona :
Code :
1
2
 
$_SESSION['droits_member'] = array(1,2);
Je souhaite donc savoir comment faire, qu'un membre a droit sur une page x donnée ?
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h39.


 
 
 
 
Partenaires

Hébergement Web