Problème de user, droit, groupe - PHP - Programmation
Marsh Posté le 03-08-2006 à 14:18:35
Je ne sais pas, à toi de nous le dire. C'est un peu vague comme question. Peux-tu être un peu plus précis ?
Sinon si tu veux travailler tes permissions avec des opérateurs logiques, tu peux utiliser des valeurs en hexadécimal
Marsh Posté le 03-08-2006 à 14:28:07
C'est la même chanson ....
Tu ne remontes que le 1er resultat de ta requete utilisateur/groupe, donc tu n'as les permissions que du 1er groupe.
Commence par faire une boucle sur les resultats, et dedans traite les problèmes de droit.
Marsh Posté le 03-08-2006 à 14:28:31
J'ai déjà fait un poste pour cette page qui bloque et m'enquiquine. La voici en entier vous aller peut-être mieux comprendre. Actuellement si j'execute ma première requete je n'ai qu'une ligne de résultats qui s'affiche donc il ne prend en compte que les droits d'un groupe alors que le user appartient à 2 groupes. C'est pour cette raison que j'ai essayer de faire une boucle. Mais sans succès. En cherchant sur le web j'ai trouvé ce qu'il y a au-dessus... Je me dis que c'est peut être une solution, mais je n'arrive pas à l'éxécuter pour moi (je débute et galère pas mal)
Code :
|
AlphaZone a écrit : Sinon si tu veux travailler tes permissions avec des opérateurs logiques, tu peux utiliser des valeurs en hexadécimal |
Comment ça?
Marsh Posté le 03-08-2006 à 14:44:45
jenny50 a écrit : Actuellement si j'execute ma première requete je n'ai qu'une ligne de résultats qui s'affiche donc il ne prend en compte que les droits d'un groupe alors que le user appartient à 2 groupes. |
Je reprends ton code ( pour la 10eme fois):
Code :
|
C'est vraiment vraiment suprenant que tu n'aies que le 1er résultat
jenny50 a écrit : C'est pour cette raison que j'ai essayer de faire une boucle. Mais sans succès. En cherchant sur le web j'ai trouvé ce qu'il y a au-dessus... Je me dis que c'est peut être une solution, mais je n'arrive pas à l'éxécuter pour moi (je débute et galère pas mal) |
Bin montre nous le code avec la boucle alors
Par ailleurs, je t'ai expliqué hier ( ici ) comment reprendre ton script proprement. Tu veux toujours pas le faire, et bin c'est normal que ça fasse n'importe quoi
Marsh Posté le 03-08-2006 à 14:51:48
Pour reprendre ton exemple :
Citation : NOM Droit1 Droit2 Droit3 Droit4 Droit5 |
grp1 en hexa donne : 0x0D
grp2 en hexa donne : 0x19
Tu fais
Code :
|
Si je me trompe pas, tu obtiens
Code :
|
Qui correspond à ton résultat : 0001 1101
Marsh Posté le 03-08-2006 à 15:20:37
JE LAISSE TOMBER CA ME SOULE J'Y COMPREND PLUS RIEN !!!!
MERCI DE VOTRE AIDE
JE VOUS LAISSE TRANQUILLE
Marsh Posté le 03-08-2006 à 15:29:28
LoL, ca ne sert à rien de s'énerver. Commence par faire quelques tests, les plus basiques, sans te préoccuper de la mise en forme.
A chaque fois que tu réussi un test, augmente la difficulté jusqu'à obtenir le résultat que tu souhaite. C'est chiant, je l'avoue mais ca permet de voir ou ça coince et puis ca permet de voir ses erreurs.
Maintenant si tu ne veux pas continuer, c'est ton problème.
@ bientot peut être
Marsh Posté le 03-08-2006 à 15:50:29
Alors j'ai repris tout je teste. Voici le meme code avec ma boucle.
Code :
|
Mon echo m'affiche bien 2 lignes de résultat de cette manière :
Code :
|
Maintenant il faut que je traite mes droits, c'est là que je ne comprend pas l'histoire d'itération de mon premier poste pour faire en sorte qu'il n'affiche que ça : 111
Marsh Posté le 03-08-2006 à 15:58:27
hein??? Je suis vraiment désolé je ne comprend pas. Quelles colonnes et quel module?
Marsh Posté le 03-08-2006 à 17:37:11
jenny50 a écrit : Mon echo m'affiche bien 2 lignes de résultat de cette manière :
|
Il faut que tu trouve une solution pour convertir tes 1 et 0 en un nombre en hexadécimal.
Une fois que tu as cette valeur hexa, tu applique une convertion logique avec l'opérateur | (OR) ou & (ET) ou ^ (XOR) selon le résultat désiré.
Pour information, le OU force à 1 et le ET force à 0. C'est à savoir.
Donc ici tu veux obtenir un résultat 111 avec les valeurs 110 et 011. Il te faudra donc utiliser l'opérateur OU.
Voici un exemple par rapport à tes valeurs :
Code :
|
J'espère que mes explications t'aurons aidées dans la compréhension du traitement de tes données.
Marsh Posté le 03-08-2006 à 18:03:32
ptain mais c'est compliqué pour rien non ?
Tu sommes par colonnes, tu regardes si à la fin c'est supérieur à 0, si oui il a les droits, sinon il les a pas
Marsh Posté le 04-08-2006 à 12:26:26
avant d'essaie de coder, reflechi à l'algo, tu veras que c'est pas bien dur.
Marsh Posté le 03-08-2006 à 14:00:40
Bonjour,
c'est encore pour la meme page, j'ai fait pas mal de recherche. J'ai trouvé ça mais j'ai du mal à l'exécuter pour moi.
Un user peut appartenir à plusieurs groupes et qui eux-mêmes ont des droits différents.
Solution : appliquer un masque (OR ou AND en fct du besoin) et ceux pour chaque droit en combinaison de
groupe.
En clair :
Pour un utilisateur :
NOM Droit1 Droit2 Droit3 Droit4 Droit5
grp1 0 1 1 0 1
grp2 1 1 0 0 1
---------------------------------------------------------------------
maskOR 1 1 1 0 1
while ( conditions, itérations des groupes pour un user ....) {
$DroitGlobal1 |= $droit1DuGroupe_i;
$DroitGlobal2 |= $droit2DuGroup_i;
etc...
$i++
}
Voici mon code à l'origine : COmment je peux faire pour intégrer ce qu'il y a au dessus?