ROLES ET PRIVILEGES UTILISATEURS D'UN SITE
Linux, Apache, MySQL, PHP
1
Posts
1
Posters
3
Views
1
Watching
-
Bonjour, j'ai un soucis avec les privilèges utilisateurs (AUCUN, EDITEUR, ADMINISTRATEUR). C'est à dire, en fonction des identifiants rentrés, on a accès à certaines liens du menu. et malheureusement chez moi le menu ne s'affiche pas. Besoin d'aide, merci d'avance. voici mon code : class/Usermanager.php
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 AND P.min\_role\_id < :user\_role\_id'; $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 MSG\_ERROR . $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 $min\_role\_id; } } } catch(PDOException $e) { echo MSG\_ERROR . $e->getMessage(); } }
}
process/process-display-menu.php
$username_form = isset($_SESSION['username_form']) ? $_SESSION['username_form'] : NULL;
$manager = new Usermanager($db);
$menu_items = $manager->displayMenu($username_form);$menu_html = '