begin process at 2012 05 29 01:18:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Différents menu suivant les droits


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Différents menu suivant les droits

vendredi 5 février 2010 à 08:38:50 | Différents menu suivant les droits

WrestlingMan

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 !!

Voici le code où je récupère ma variable :

Require("connect.php");

$login=$_POST["txt_login"];
$passe=$_POST["txt_passe"];

$sql="select * from t_identifiant where Login='$login'and MotDePasse='$passe';";
$retour=mysql_query($sql) or die ("erreur requête".$SQL);

if(mysql_num_rows($retour)>0)
{
while($retaray=mysql_fetch_array($retour))
{
session_start();
$_session['id_session']=session_id();
$_session['id_login']=$login;
$_session['id_passe']=$passe;
$droit=$retaray['NumDroits'];
header("location:accueil.php?droit=$droit");
}
}

Et voici le code où je réalise mon test :

<?php
session_start();
include('haut.php');
if(isset($_GET['droit']))
{
$droit=$_GET['droit'];
}

if($droit='2')
{
include('menu1.php');
}
elseif($droit='3')
{
include('menu2.php');
}
elseif($droit='4')
{
include('menu3.php');
}


if(isset($_GET['page']))
{
$page=$_GET['page'];
echo($page);
include($page.'.php');
}
else
{
include('droite.php');
}

Voilà, j'espère que vous pourrez m'aider !! ^^
Merci d'avance !!
vendredi 5 février 2010 à 12:07:12 | Re : Différents menu suivant les droits

jimmypage64

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."



Voila ce que je peux deja te dire sur ton code.

Tiens moi au ocurant qi tu as du nouveau ...

@+



[8)]Zoso
vendredi 5 février 2010 à 14:17:26 | Re : Différents menu suivant les droits

WrestlingMan

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 :

<?php
session_start();

include('haut.php');

if(isset($_GET['droit']))
{
$droit=$_GET['droit'];
}

if($droit='2')
{
include('menu1.php');

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');
}


if(isset($_GET['page']))
{
$page=$_GET['page'];
echo($page);
include($page.'.php');
}
else
{
include('droite.php');
}
?>
vendredi 5 février 2010 à 14:18:25 | Re : Différents menu suivant les droits

WrestlingMan

dsl ya une page ki sè glisser entre mes lignes de code !! ^^ sa orait du etr a la fin !! mdr
vendredi 5 février 2010 à 14:49:46 | Re : Différents menu suivant les droits

jimmypage64


Tente avec $droit=='2' , $droit=='3', ...
parsque si tu en met qu'un, il me semble que tu fais une affectation ...

tiens moi au courant

[8)]Zoso
vendredi 5 février 2010 à 14:56:55 | Re : Différents menu suivant les droits

WrestlingMan

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
^^
vendredi 5 février 2010 à 16:12:22 | Re : Différents menu suivant les droits

WrestlingMan

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();

include('haut.php');

if(isset($_GET['droit']))
{$var=$_GET['droit'];}

if($var=='2')
{include('menu1.php');}
elseif($var=='3')
{include('menu2.php');}
elseif($var=='4')
{include('menu3.php');}


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 ???
vendredi 5 février 2010 à 17:08:53 | Re : Différents menu suivant les droits

jimmypage64

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 ...


[8)]Zoso
vendredi 5 février 2010 à 17:32:33 | Re : Différents menu suivant les droits

kohntark

Membre Club
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 ??

Autre faille énorme de sécurité :
Code PHP :
$login=$_POST["txt_login"];
$passe=$_POST["txt_passe"]; 

=> utilise mysql_real_escape_string() sur toutes les données POST ou GET

Cordialement,

Kohntark -



Cette discussion est classée dans : php, login, droit, passe, session


Répondre à ce message

Sujets en rapport avec ce message

ma session ne fonctionne pas a la première connexion [ par jojolafrite ] bonjour g un petit problème de session pour la création d'une section membrepour cela g trois fichier:logadmin.php(page de login)veriflog.php(script q variables de session [ par tweeder ] BonjourJ'ai posé la question plus tôt cette semaine mais je crois que je m'étais mal exprimévoila j'aimerais récupérer ma variable de session enregist problème avec les sessions [ par lpefec ] mon script ne fonctionne pasidentification.php----------------------------------------------------------------Login<meta http-equiv="Content-Type" con problème avec les sessions [ par lpefec ] mon script ne fonctionne pasidentification.php----------------------------------------------------------------Login<meta http-equiv="Content-Type" con session_is_registered() [ par tweeder ] Bonjour, je vais essayer d'être le plus clair possible.Voila je veux sécuriser mon site grâce au php avec session_is_registered(). J'ai donc une page Combiner Cookie et Session [ par apz ] salut,en fait je voudrais ajouter une zone membres dans mon site.je voulais combiner cookie et session : le cookie sert au login automatique de l'util Aide Urgent svp - Probleme de session [ par jmcamman ] Bonjour à tous.J'ai des problemes depuis quelques jours sur la gestion des sessions lors d'un loginVoici mon prmier fichier contenant login.php, leque sessions [ par miss07 ] Bonjour, je viens de commencer à apprendre PHP et je voudrai savoir si avec une session on peut faire une vérification d'un mot de passe et d'un login Erreur lors de l'utilisation de sessions [ par auremy ] Bonjour,Je fais un site avec une partie réservé aux membres, ce qui nécessite donc une identification. Ayant regardé les messages à ce sujet, je n'ai sessions [ par gegelarep ] bonjour,je suis dans une page ouverte par une session qui porte une url du type http://www.site.com/fr/majprod?produit=591et j'aimerai dire au program


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,307 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales