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)