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 = '