Les comptes utilisateurs

Petit nouveau ! | 2 Messages

24 févr. 2006, 09:42

Bonjour,

Je suis le président d'une nouvelle association qui organise des ateliers divers comme la cuisine, le bricologe, ... plusieurs fois en semaine et week end

Je voudrais developper un site en php et mysql.

Ce site doit permettre aux personnes qui le veulent de s'abonner à l'association puis de choisir ensuite plusieurs activités.

Je souhaiterais que les membres ont leur propres compte personnels et qu'ils ont la possibilité de s'ajouter ou de s'enlever d'un atelier .

La ou je bloque c'est au niveau de mysql !
Comment je dois m'organiser au niveau des tables pour l'utilisateur n'accede qu'a ces données ?

Merci d'avance de votre réponse.

Eléphant du PHP | 90 Messages

24 févr. 2006, 09:48

c'est simple tu mets des droits dans ta table comme admin
et tu mets
if($admin==1)
{

}


mais ta question est assez vaste

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

24 févr. 2006, 11:47

La gestion des droits va se faire au niveau de ton site en php.

Lorsqu'un utilisateur va s'authentifier (je suppose que chacun aura un login et un mot de passe propre) il faut que tu récupère l'identifiant unique qui lui est associé - c'est généralement la clé primaire de ta table d'utilisateur - (l'idéal est de le stocker en session pour le conserver tout au long de sa visite sur le site)

Une fois que tu as cet identifiant, tu peux l'utiliser pour comparer à chaque fois que tu interroges ta base, afin de ne ramener que les enregistrement qui le concerne et ainsi l'empêcher d'accéder aux infos des autres :)

Au niveau de tes tables, il faut donc que cet identifiant soit utilisé pour lier les infos concernant l'utilisateur.

Typiquement, pour lier des utilisateurs (0 à n) à des ateliers (0 à n), on utilise trois tables :

- Utilisateur (champs : identifiant unique de l'utilisateur, nom, prenom, login, mot de passe, etc.)
- Atelier (champs : identifiant unique de l'atelier, libellé, etc.)
- Lien_Utilisateur_Atelier (champs : l'identifiant unique utilisateur, l'identifiant unique de l'atelier)

Lorsque l'utilisateur n°8 s'inscrit à l'atelier n°2, il suffit d'ajouter la ligne (8 ; 2) dans la table de lien. S'il s'en désinscrit on la supprime.

Tu obtiens ainsi des lignes du genre : (5 ; 3) (5 ; 7) (8 ; 2)
Cela signifie que l'utilisateur 5 est inscrit aux ateliers 3 et 7.
Lorsque tu récupères ses informations, tu as donc l'identifiant 5 en session (ou ailleurs :)) et tu requête donc pour ne ramener que les enregistrements où l'identifiant utilisateur est égal à 5 (il ne verra donc pas que 8 est inscrit à l'atelier 2)

Invité
Invité n'ayant pas de compte PHPfrance

24 févr. 2006, 19:33

merci pour l'explication :)