Vérouiller l'accéès d'un utilisateur sur un formulaire

tenshinan Messages postés 11 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 27 février 2006 - 13 juin 2005 à 16:26
tenshinan Messages postés 11 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 27 février 2006 - 13 juin 2005 à 17:28
Bonjour tout le monde!!

Voila, j'ai un pti pb. Je vous explique le principe!
Je fais un intranet, et j'ai donc un compte administrateur avec plusieurs administrateurs dedans. Ils peuvent donc faire des mises à jour, faire des ajout, des suppressions d'autres tables ect...
Voila ce que je recherche, je voudrais que lorsqu'un admin est en train de mettre à jour un table grace à un formulaire, aucun autre admin ne puisse entrer dans ce formulaire, et si il essaie d'y accéder qu'il est un message du genre "impossible de faire la MAJ, un autre utilisateur est déjà en train d'en faire une".

Merci d'avoir lu mon pb.

@+

2 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 juin 2005 à 16:48
Hello,



t'as qu'a passer pour chaque table un champ du genre "is_modified", booleen.

Des qu'un admin veut rentrer dans le formulaire pour cette table : tu
verifies l'etat de ce champ. S'il est a 0, tu acceptes l'admin, et tu
fous le champ a 1. S'il est a 1, tu refuses l'admin.

Fais gaffe quand meme aux actions de tes formulaires apres...il ne faut
pas que tes formulaires se traitent sur leur propre page, sinon des
qu'il soumettra, hop, il sera vire ;-)



Quand l'admin a fini ses modifs, tu refous le champ a 0.

Pense aussi a leur session (je suppose que tu utilises les sessions) :
parce que si l'admin se deconnecte, il faut aussi passer le champ a 0,
ou il sera bloque a jamais ;-)
0
tenshinan Messages postés 11 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 27 février 2006
13 juin 2005 à 17:28
Merci de m'avoir repondu Malalam!!

Ta réponse me convient, l'idée est pas mal dans le genre!
En effet j'utilise les sessions et j'y ferai attention.

Sinon pour mon problème, je sais pas si je peut utiliser tout simplement une requête.
J'ai trouvé sur un logiciel pour MySQL, dans un SELECT, l'option [FOR UPDATE | LOCK IN SHARE MODE ], qui pourrait peut etre résoudre mon pb.

Si quelqu'un connait ces options et si elles conviennent à ce que je recherche, merci de pouvoir m'aider sur le fonctionnement de cette requête.

Sinon j'obterais pour la solution ci-dessus!!

Merci
0
Rejoignez-nous