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


Monteirinho02
Réponse acceptée

Bonjour,
Regarde au niveau de ta ligne 3 ;)

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
Auteur
<?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é.

Première ligne il manque un ; :D

simWEEN
Auteur

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.