Tuto Niveau de permission

Par simWEEN, il y a 14 ans


Bonjour, j'ai un petit soucis avec ce tuto, je l'ai donc recommencé une deuxième fois, il m'affiche ceci:

Je tiens à préciser que j'ai finis le tuto donc je ne vois pas où aller pour changer.

Merci de votre aide.

5 réponses

Nazahel, il y a 14 ans

Salut, et bien là tu as juste une erreur de syntaxe.
Vérifie bien ton code, tu as dû oublier un point-virgule quelque part.

N'hésites pas à poster ton code, on pourra mieux t'aider.

simWEEN, il y a 14 ans
<?php class Auth{
  var $forbiddenPage = "index.php?p=forbidden"
  /**
  *Permet d'identifier un utilisateur.
  **/
     function login($d){
     global $PDO;
     $req = $PDO->prepare('SELECT users.id,users.login,users.adress,roles.name,roles.slug,roles.level FROM users LEFT JOIN roles ON users.role_id=roles.id WHERE login=:login AND password=:password');
     $req->execute($d);
     $data = $req->fetchAll();
     if(count($data)>0){
           $_SESSION'Auth'] = $data [0];
           return true;
     }
     return false;
   }
   /**
   *Autorise un rang à accéder à une page, redirige vers forbidden sinon
   **/

   function allow($rang){
     global $PDO;
     $req = $PDO->prepare('SELECT slug,level FROM roles');
     $req->execute();
     $data = $req->fetchAll();
     $roles = array();
     foreach($data as $d){
        $roles$d->slug] = $d->level;
     }
     if(!$this->user('slug')){
         $this->forbidden();
     }else{

     if($roles$rang]> $this->user('level')){
        $this->forbidden();
      }else{
        return true;
      }
     }
   }

   /**
   *Récupère une info utilisateur
   **/
   function user($field){
      if($field =='role')$field=='slug';
      if(isset($S_SESSION'Auth']->$field)){
         return $S_SESSION'Auth']->$field;
     }else{
       return false;
     }
   }

   /**
   *Redirige un utilisateur
   **/
   function forbidden(){
        header('Locaton:'.$this->forbiddenPage);
   }

}
$Auth = new Auth();

Voilà le code en entier.

J'ai regardé vite fait, et je n'ai rien vu, mais comme je le dit j'ai regardé vite, donc j'ai du mal regardé.

Monteirinho02, il y a 14 ans

Bonjour,
Regarde au niveau de ta ligne 3 ;)

Grafikart, il y a 14 ans

Première ligne il manque un ; :D

simWEEN, il y a 14 ans

Oui merci. :p
Je corrige de suite, et si ça change je reviens! =D

Edit: Ça marche, mais ce que je ne comprends pas c'est pour quoi tout ne s'affiche pas comme dans le tuto.