8721 sujets

Développement web côté serveur, CMS

Bonjour,

Sur mon site, les visiteurs ont accès à différents menus auxquels j'aimerais que les utilisateurs enregistrés aient accès en plus d'autres menus.
A l'heure actuelle, quand un visiteur arrive sur la page d'accueil il voit les bon menus. Mais dès qu'il clique sur un lien dans un menu, il voit aussi les menus des utilisateurs.
L'utilisateur quand a lui lorsqu'il se connecte il voit son menu, mais dès qu'il clique sur un lien il fini comme un visiteur.

Les pages liens dans les menus commencent toutes par :
<?php 
session_start();
?>

Voici la page qui défini quel menu choisir pour l'utilisateur ou le visiteur :
    // Menu accessible à tous
if (isset($_SESSION['droit']) && $_SESSION['droit'] == 1)
{
	$req="Select NumPageFixe as NumPage, NomMenu, NomSSMenu, NomPhpPF , NumOrdreM, NumOrdreSS, visibleAdherents, 'f' as typepage
		  From menu M, ss_menu SS, page_fixe PF
		  Where M.NumMenu=SS.NumMenu and SS.NumMenu=PF.NumMenu and SS.NumSSMenu=PF.NumSSMenu and visibleAdherents is false
		  	union 
		  		Select NumPageLibre as NumPage, NomMenu, NomSSMenu, 'affich_page_libre.php' as NomPhpPF, NumOrdreM, NumOrdreSS, visibleAdherents, 'l' as typepage
		  		From menu M, ss_menu SS, page_libre PL
		  		Where M.NumMenu=SS.NumMenu and SS.NumMenu=PL.NumMenu and SS.NumSSMenu=PL.NumSSMenu and visibleAdherents is false
		  		Order by NumOrdreM asc, NumOrdreSS asc";
}
else {
					$req="Select NumPageFixe as NumPage, NomMenu, NomSSMenu, NomPhpPF , NumOrdreM, NumOrdreSS, visibleAdherents, 'f' as typepage
		  From menu M, ss_menu SS, page_fixe PF
		  Where M.NumMenu=SS.NumMenu and SS.NumMenu=PF.NumMenu and SS.NumSSMenu=PF.NumSSMenu 
		  	union 
		  		Select NumPageLibre as NumPage, NomMenu, NomSSMenu, 'affich_page_libre.php' as NomPhpPF, NumOrdreM, NumOrdreSS, visibleAdherents, 'l' as typepage
		  		From menu M, ss_menu SS, page_libre PL
		  		Where M.NumMenu=SS.NumMenu and SS.NumMenu=PL.NumMenu and SS.NumSSMenu=PL.NumSSMenu
		  		Order by NumOrdreM asc, NumOrdreSS asc";
}

Et voici la gestion du menu utilisateur :
// Menu adhérent

	$req="Select NumPageFixe as NumPage, NomMenu, NomSSMenu, NomPhpPF , NumOrdreM, NumOrdreSS, visibleAdherents, 'f' as typepage
		  From menu M, ss_menu SS, page_fixe PF
		  Where M.NumMenu=SS.NumMenu and SS.NumMenu=PF.NumMenu and SS.NumSSMenu=PF.NumSSMenu and visibleAdherents is true
		  	union 
		  		Select NumPageLibre as NumPage, NomMenu, NomSSMenu, 'affich_page_libre.php' as NomPhpPF, NumOrdreM, NumOrdreSS, visibleAdherents, 'l' as typepage
		  		From menu M, ss_menu SS, page_libre PL
		  		Where M.NumMenu=SS.NumMenu and SS.NumMenu=PL.NumMenu and SS.NumSSMenu=PL.NumSSMenu and visibleAdherents is true
		  		Order by NumOrdreM asc, NumOrdreSS asc";
	$exec=mysql_query($req);
	$ligne=mysql_fetch_array($exec) ;

Evidemment l'utilisateur est défini par un niveau de droit :
        {
           // identification correcte
            $ligne=mysql_fetch_array($exec) ;
            $_SESSION['ident'] = "affich_page_libreistrateur : ".$ligne['NomAdherent']." ".$ligne['PrenomAdherent']."&nbsp;&nbsp;&nbsp;&nbsp;";
            $_SESSION['login'] = $ligne['NomAdherent'] ;
			$_SESSION['droit'] = 1;
            $erreur=0; 
        }


Sauriez-vous m'aider de façon a ce que les menus soit affichés pour les bons utilisateurs ?

Cordialement,
lizeal
Bonjour,
Pas évidant de t'aider surtout avec tes requêtes plus que indigestes.

Tu est sur de ne pas avoir fait une inversion dans une de tes conditions ?
Bonjour,

Et bien pour en être certaine j'ai même essayé de les inverser ...

Si ça peut vous aider ... :
Ceci est le menu visiteur :
upload/50375-menuV.PNG
Quand on clic dedans voici ce qui se passe :
upload/50375-menusVU.PNG
Il y a le menu visiteur et utilisateur ensembles.
Et maintenant le menu utilisateur :

upload/50375-menuU.PNG
Mais quand on clic c'est le menu visiteur qui apparait :
upload/50375-menuV.PNG



Au passage sur votre site personnel toutes les apostrophes ne sont pas visibles... ^^
Modifié par lizeal (12 Feb 2014 - 09:42)
J'ai fini après plusieurs jours pas résoudre le problème ... allons savoir comment moi même je n'en sais trop rien ...
Désolé, je n'avais pas vu ton message précédent.

Concernant mon site, je viens de vérifier les différents entêtes au niveau de l'encodage et n'est trouvé aucun problème. J'imagine que tu as du désactiver la détection automatique de l'encodage dans ton navigateur.