$_SESSION gestion des droits

ViPHP
ViPHP | 2291 Messages

02 déc. 2007, 13:08

Bonjour,

JE créer un espace membre et je place les structures de controle suivante.
if (!isset($_SESSION['pseudo'])){
echo 'Vous devez être identifier pour avoir accés à cette partie du site';
    exit();
}
$droit = $_SESSION['level'];
if ($droit == "3"){
} else {
   echo "Vous n'avez pas le grade suffisant pour cette partie du site";
      exit();
         }
La structure du $droit (qui fonctionne) es t'elle correcte ou y à t'il moyen de faire différament :?:

D'avance merci :wink:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Eléphant du PHP | 75 Messages

02 déc. 2007, 13:23

Qu'entends-tu par "correcte"?

Et est-ce normal qu'après ta condition avec le $droit == 3 il n'y ait aucune commande?
(Je ne sais pas, je pose la question)

ViPHP
ViPHP | 2291 Messages

02 déc. 2007, 14:18

Oui si il a le droit 3 il peut voir s'afficher la page .
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

02 déc. 2007, 14:35

ça ne sert à rien de vous "citer" pour répondre... le bouton "répondre" fait ça très bien aussi :)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 32 Messages

02 déc. 2007, 15:08

Peut-être que tu pourrai utiliser un switch pour pousser le vice et prévoir une valeur par défaut ?

ViPHP
ViPHP | 1996 Messages

02 déc. 2007, 23:04

samsayan a raison un swith est plus "propre". Pour t'aider
if (!isset($_SESSION['pseudo'])){
echo 'Vous devez être identifier pour avoir accés à cette partie du site';
    exit();
}
$droit = $_SESSION['level'];
switch ($droit ) {

   case "3" :
   echo "Vous n'avez pas le grade suffisant pour cette partie du site";
   break;

   case "0":
   echo 'boue pas bo';
   break;

   default :
   echo 'boue pas bo';
   break;
         } 

Cependant, j'ai aussi fais une gestion de droit pas nombre mais pense aussi à ceux qui ont des droits supérieurs... Aussi je te dirai de faire
if ($droit >= 3)


au lieu de
if ($droit ==3)
Même si dans ce contexte le switch n'a plus d'intérêts
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

ViPHP
ViPHP | 2291 Messages

03 déc. 2007, 17:29

Ok et merci à vous deux :lol:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.