...
Comment faire ?
Dans ma table user je doit créer un champ par exemple prix de revient que je met a 1 ou 0 et dans ma page je demande le passage en session de cette variable.
c'est ca?
Quelqu'un aurait un petit exemple ?
Merci pour votre aide
guigiu69
Cela peut-être une solution.
A mon avis ton pb est que tu regarde la page d'authentification pour avoir une idée, alors que tu trouveras la solution en regardant le script de restriction qui permet d'avoir accès aux pages administrateur.
Il faut partir du résultat pour trouver la solution - dans le même ordre d'idée, la signature de mere-teresa : Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours !
Pour en revenir à ton pb, le code actuel de restriction d'accès aux pages administrateur doit être quelque chose comme
if(!isset($_SESSION['login'])) die('Vous devez être authentifié pour avoir accès à cette partie du site');
Avec ce code tu ne vérifie que l'existence de la session login - que tu génère dans ton script d'authentification dès que l'utilisateur est dans ta table "user". Donc en l'état, difficile de faire du tri parmi les user. Maintenant si par exemple tu affecte une valeur à $_SESSION['login'], le tri devient possible.
Sur le principe, pour les pages admin accessibles à tous les utilisateurs authentifiés tu peux faire
if(!isset($_SESSION['login'])) die('Vous devez être authentifié pour avoir accès à cette partie du site');
Pour les pages de modification des prix, en supposant que tu affecte la valeur 1 aux utilisateurs autorisés
if(!isset($_SESSION['login'])) die('Vous devez être authentifié pour avoir accès à cette partie du site');
if(isset($_SESSION['login']) && $_SESSION['login'] != 1) die('Vous n\'avez pas les autorisations nécessaires pour accéder à cette partie du site');
Tu peux également avoir des pages communes à tous les utilisateurs authentifiés
if(!isset($_SESSION['login'])) die('Vous devez être authentifié pour avoir accès à cette partie du site');
et n'autoriser certaines fonctionnalités à l'intérieur de ces pages que pour certains utilisateurs
if($_SESSION['login'] == 1)
{//script
}
else echo 'vous n\'avez pas les droits pour utiliser ces fonctionnalités';
Comme tu l'a dit plus haut, tu peux modifier ta table user en rajoutant un champ par exemple 'autorisation' pour définir les droits. Faudra donc modifier ta requête en conséquence pour pouvoir lire ce champ.
$selection = sprintf("SELECT autorisation FROM user WHERE mdp_user ='%s' AND login_user ='%s'",
mysql_real_escape_string($mdp),
mysql_real_escape_string($login));
$query = mysql_query($selection) or die(mysql_error());
$total_reponse = mysql_num_rows($query);
$reponse = mysql_fetch_assoc($query);
if ($total_reponse == 1)
{
$_SESSION['login'] = $reponse['autorisation'];
header("Location: acceuil.php");
exit();
}
else
{
echo '<div id="message">membre non identifié<br>';
echo 'login ou mot de passe incorrecte ou manquant 2</div>';
}