Affichage conditionelle php

Résolu
glodybiss Messages postés 440 Date d'inscription   Statut Membre Dernière intervention   -  
glodybiss Messages postés 440 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Pour séparé les rôles des utilisateurs suite à un tuto qu'on m'a remis par les membres de comment ça marche que je remercie en passant, après avoir étudier son fonctionnement j'ai trouvé que je pouvais faire une affichage conditionnelle mais lors de l'affichage il y a une erreur je ne sais pas si j'ai mal écris mon code

j'ai utilisé une affichage conditionnelle de tel sorte que quand l'utilisateur est connecté à partir de sa session je vérifie ses privilèges dans la base des données, s'il est administrateur que le menu des administrateurs puisse apparaître là il y a une full option mais s'il est utilisateur simple que le menu avec des options réduites puisse apparaît.

<?php

if $_SESSION['privilege']=="administrateur";
include "menu_pge2.php"
else if $_SESSION['privilege']== "Utilisateur";
include "menu_page.php"
?>



A voir également:

1 réponse

le père
 
Bonjour

La condition qui suit le if doit être entre parenthèses.
Le traitement soumis au if doit être entre { }. Et le point virgule seul (après ton
if) est une instruction.
Remarque : les { } ne sont obligatoires que s'il y a plus d'une instruction, et ici tu en as une seule. J'en ai mis quand même, c'est une bonne habitude car un jour ou l'autre tu rajouteras une instruction et tu oublieras de remettre les { }

version corrigée :
<?php
if ($_SESSION['privilege']=="administrateur") {
  include "menu_pge2.php"
}
else {
  if ($_SESSION['privilege']== "Utilisateur") {
    include "menu_page.php"
  }
}
?>
0
maka54 Messages postés 698 Date d'inscription   Statut Membre Dernière intervention   80
 
version recorrigée
<?php
if ($_SESSION['privilege']=="administrateur") {
  include "menu_pge2.php";
}else if ($_SESSION['privilege']== "Utilisateur") {
    include "menu_page.php";
}
?>


ne pas oublier les point-virgule
0
le père
 
oups...
merci
0
glodybiss Messages postés 440 Date d'inscription   Statut Membre Dernière intervention   9
 
Les points virgules, lol! c'est embarrassent! merci à vous deux.
0
glodybiss Messages postés 440 Date d'inscription   Statut Membre Dernière intervention   9
 
Je m'excuse mais je reviens encore auprès de vous pour une aide, au fait j'ai maintenant utiliser les sessions alors j'ai fais en sorte que quand l'utilisateur n'est pas connecté comme étant administrateur que le menu_page puisse apparaît mais s'il est connecté comme étant administrateur que le menu_page2 puisse apparaître dans le menu_page2 il y a une full option, alors je remarque que après avoir mis mon code aucun menu de deux apparaît quand j'essaie de me connecté comme utilisateur simple ou même administrateur.

Pour afficher verifier les privilèges et afficher l'un de menu:

<?php 
if (isset($_SESSION['authentification']) && isset($_SESSION['privilege']) && $_SESSION['privilege'] == "administrateur") { 
  include "menu_page2.php";// vérification sur la session authentification, si elle est enregistré 
// Je véifie également si la session ouverte est bien une session administrateur et je place les options pour administrateur 
}else if ($_SESSION['privilege']== "Utilisateur") { 
    include "menu_page.php"; 
} 
?>



Mon fichier de connexion à l'index
 $base = mysql_connect (DB_HOST, USER_NAME, PASSE_WORD);  
       mysql_select_db (DATA_BASE, $base);  
  $sql = "select count(*) as nb from agent where nom='".$nom."' and  password='".md5($password)."'"; 
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

  $data = mysql_fetch_assoc($req);  
   
        if ($data['nb'] == 1) {  
          session_register("authentification");  
        $_SESSION ['privilege']= $_row_verif['privilege'];//verification de ses privilèges  
  $_SESSION ['nom']= $_row_verif['nom'];//la session avec son nom 
  $_SESSION ['prenom']= $_row_verif['prenom'];//la session avec son prénom 
  $_SESSION ['password']= $_row_verif['password'];//la session avec son password 
   
            header('Location: '.PAGE_PRIVATE4.'');  
            exit();  
        }   
     elseif ($data['nb'] == 0) {  
       $erreur = 'Compte non existant.';  
       } 

merci à vous.
0
glodybiss Messages postés 440 Date d'inscription   Statut Membre Dernière intervention   9
 
Merci à tous mais j'ai trouvé la solution à ce problème sur développez, si quelqu'un d'autre rencontre le même problème que moi il peut donc voir sur ce lien :

https://www.developpez.net/forums/d1163981/php/php-base-donnees/affichage-conditionelle-php/
0