WrestlingMan
Messages postés78Date d'inscriptionmardi 16 juin 2009StatutMembreDernière intervention17 février 2011
-
5 févr. 2010 à 08:38
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 2012
-
5 févr. 2010 à 17:32
Bonjour !!
Petit problème se pose à moi, et malgré mes efforts de recherches sur google, je n'arrive pas à résoudre mon problème !!
Voilà ce que je veux faire : quand une personne iras sur mon site, suivant son login et mot de passe, il pourra accéder à un menu différent !!
Donc, je dois faire passer une variable résultant d'une requête à ma page d'accueil où je ferais un test pour savoir quel menu mettre à gauche !! Or, pour l'instant, si c'est l'un des mots de passe autorisé, il me charge systématiquement le même menu !!
jimmypage64
Messages postés164Date d'inscriptionsamedi 16 octobre 2004StatutMembreDernière intervention21 septembre 2010 5 févr. 2010 à 12:07
Salut,
Je ne te garantit pas que ça vient de la mais regarde du coté de ton session_start() que tu as positionné dans le while{}.
Une seule session ne être démarrée dans chaque page. De toute maniere ta session doit être démarrée sur la deuxieme ligne de ton Php (apres la balise <?php ). cf le Manuel Php
"Note: Pour utiliser des sessions basées sur les cookies, session_start() doit être appelée avant d'afficher quoi que ce soit dans le navigateur."
WrestlingMan
Messages postés78Date d'inscriptionmardi 16 juin 2009StatutMembreDernière intervention17 février 20111 5 févr. 2010 à 14:17
J'ai fait ce que tu m'as dit mais sa ne change rien !!
D'ailleur, je pense que l'erreur se trouve dans la page accueil car ma variable passe bien dans cette page !!
Donc c'est ce code qui cloche :
Si tu as une autre idée, n'hésite pas à m'en faire par !! En tout cas merci !!
}
elseif($droit='3')
{
include('menu2.php');
}
elseif($droit='4')
{
include('menu3.php');
}
WrestlingMan
Messages postés78Date d'inscriptionmardi 16 juin 2009StatutMembreDernière intervention17 février 20111 5 févr. 2010 à 14:56
Merci beaucoup c'est sa !! C'est con, j'aurais dû y penser tout seul !! En effet, pour faire une comparaison, il faut utiliser == pour une égalité, != pour une différence et ! pour l'inverse!!
merci
^^
WrestlingMan
Messages postés78Date d'inscriptionmardi 16 juin 2009StatutMembreDernière intervention17 février 20111 5 févr. 2010 à 16:12
Bon,
jimmypage64 je me permet de solliciter ton aide encore une fois !!
Tu avais raison à propos de la comparaison !! Mais un nouveau problème se pose à moi désormais ! Tout d'abord, voici mon code :
<?php
session_start();
if(isset($_GET['page']))
{
$page=$_GET['page'];
include($page.'.php');
}
else
{
include('droite.php');
}
?>
Cela marche !! Mon menu change effectivement en fonction de mon droit d'accès ! Le problème c'est que lorsque je clic sur un lien de mon menu, ce menu disparaît et j'ai 3 message d'erreur !! En gros, sa veut dire que ma variable $var est indéfini !! mais étant donnée que je n'en ai plus besoin, comment faire pour résoudre mon problème !! qu'une fois identifié le droit le menu ne change pas tant que l'on a pas quitter le site ??
Peux-tu m'aider ???
jimmypage64
Messages postés164Date d'inscriptionsamedi 16 octobre 2004StatutMembreDernière intervention21 septembre 2010 5 févr. 2010 à 17:08
Pour garder la valeur du droit dans toutes les pages jusqu'a la fin de la navigation, peut etre vaut il mieux que tu passe par une variable globale. Tu pourrait par exemple passer par un fichier externe 'globales.php' que tu incluerai dans toutes les pages et dans lequel tu declare toutes tes vaiables globales.
Voir manuel php -> $GLOBALS
Ou encore, et puisque tu utilise les sessions, pourquoi ne pas mettre ce droit dans ta session ?
Tu y accede dans toutes tes pages par $_SESSION['droit']; du coup ton $var n'a plus lieu d'être ...
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 5 févr. 2010 à 17:32
Salut,
Ce ne doit pas être une simple recommandation : tu dois impérativement mettre 'droit' en session, ou par un autre biais, mais en aucun cas faire passer ça dans l'url, sinon tu n'as plus aucun sécurité.
Par exemple, si je n'ai le droit de ne consulter que le menu "menu1.php", mais que j'entre "accueil.php?droit=4" dans l'url que ce passe t il ??