Bonjour, je m'explique, c'est la création d'un espace Admin
avec des rôles bien précis. (Aucun, Editeur, Administrateur). Là ou je bute,
en fonction des identifiants renseignés, on est redirigé vers la page admin/index.php
avec l'affichage d'un menu et les liens qui vont avec.
"Aucun" a accès au lien Accueil, Site Web, Déconnexion.
"Editeur" en plus de celles-ci, Insertion Image, Mise à jour Image, Suppression de l'image.
"Administrateur" en plus de celles-ci, Création d'un utilisateur.
Je n'ai aucun message d'erreurs, var_dump me renvoie un booléen FALSE.
Et j'ai juste Site Web et Déconnexion qui s'affichent.
Si quelqu'un pourrais m'aider, ça serait sympas. Bonne soirée à tous.
class/userManager.php
Code:class userManager { private $db; public function __construct($db) { $this->setDb($db); } public function setDb(PDO $dbh) { return $this->db = $dbh; } public function displayMenu($user_role_id) { try { $sql = 'SELECT A.name, A.slug FROM user_action AS A INNER JOIN user_permission AS P ON A.actionID = P.action_id INNER JOIN user_role AS R ON P.min_role_id = R.level AND P.min_role_id < :user_role_id'; echo $sql; $stmnt = $this->db->prepare($sql); $stmnt->execute(array( ':user_role_id' => $user_role_id )); while($row = $stmnt->fetch(PDO::FETCH_ASSOC)) { $menu_data[] = $row; } if(isset($menu_data)) { return $menu_data; } else { return false; } } catch(PDOException $e) { echo 'Une erreur est survenue lors de la récupération d\'une des données dans la base.<br> Message d\'erreur : ' . $e->getMessage(); } } public function checkUserPermission($action_slug, $user_role_id) { try { $sql = 'SELECT P.action_id, P.min_role_id FROM user_permission AS P INNER JOIN user_action AS A ON A.slug = :action_slug AND P.action_id = A.actionID'; $stmnt = $this->db->prepare($sql); $stmnt->execute(array( ':action_slug' => $action_slug )); while($row = $stmnt->fetch(PDO::FETCH_ASSOC)) { $min_role_id = $row['P.min_role_id']; if($min_role_id > $user_role_id) { return false; } else { return true; } } } catch(PDOException $e) { echo 'Une erreur est survenue lors de la récupération d\'une des données dans la base.<br> Message d\'erreur : ' . $e->getMessage(); } } }
-----