Problème de récupération d'une varaible en ph
Fermé
alexbigfoug
-
23 avril 2009 à 21:50
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 25 avril 2009 à 16:09
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 25 avril 2009 à 16:09
A voir également:
- Problème de récupération d'une varaible en ph
- Convertisseur récupération de texte - Guide
- Récupérer une vidéo youtube - Guide
- Impossible de récupérer mon compte gmail - Guide
- Récupération message whatsapp - Guide
- Recuperation de données - Guide
15 réponses
Voilà le code au final
Merci de votre aide à tous et particulièrement borracho^^
Voici la solution final
<?php
session_start();
mysql_connect("localhost", "root", "") OR die('Erreur de connexion');
mysql_select_db("site web") OR die('Erreur de sélection de la base');
$sql = mysql_query("
SELECT login, categorie FROM membre WHERE login = '".mysql_real_escape_string($_SESSION['login'])."'
");
$tab = mysql_fetch_array($sql);
if(isset($_SESSION['login']) && $tab['categorie'] == "administrateur")
{
}
else
{
header('location: connexion_interdite.php');
}
?>
Merci de votre aide à tous et particulièrement borracho^^
Voici la solution final
<?php
session_start();
mysql_connect("localhost", "root", "") OR die('Erreur de connexion');
mysql_select_db("site web") OR die('Erreur de sélection de la base');
$sql = mysql_query("
SELECT login, categorie FROM membre WHERE login = '".mysql_real_escape_string($_SESSION['login'])."'
");
$tab = mysql_fetch_array($sql);
if(isset($_SESSION['login']) && $tab['categorie'] == "administrateur")
{
}
else
{
header('location: connexion_interdite.php');
}
?>
P@t@ch0n
Messages postés
565
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
28 décembre 2009
85
25 avril 2009 à 13:49
25 avril 2009 à 13:49
Y'a toujours un problème de logique dans ton code.
Tu fais ta requête avec $_SESSION['login'], et après tu vérifies que cette variable existe...
Tu fais ta requête avec $_SESSION['login'], et après tu vérifies que cette variable existe...
pyschopathe
Messages postés
1974
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
135
23 avril 2009 à 21:58
23 avril 2009 à 21:58
L'algo serait un truc du genre :
Toi tu fais (à ce qu'il me semble puisque je n'ai pas la suite du code) :
Et puis il faudrait mettre du contenu entre tes balises <a> et </a> sinon difficile de cliquer sur le lien ;-p
if !admin then afficher "Interdit" else afficher page fi
Toi tu fais (à ce qu'il me semble puisque je n'ai pas la suite du code) :
if !admin then afficher "Interdit" fi afficher page
Et puis il faudrait mettre du contenu entre tes balises <a> et </a> sinon difficile de cliquer sur le lien ;-p
Mais !admin correspondrait à quoi?
pyschopathe
Messages postés
1974
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
135
23 avril 2009 à 22:31
23 avril 2009 à 22:31
C'est pour tester que ce n'est pas un administrateur.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Cela ne fait pas longtemps que je pratique le php, et je n'es jamais utlisé le !mot, c'est une sorte de variable?
pyschopathe
Messages postés
1974
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
135
23 avril 2009 à 23:27
23 avril 2009 à 23:27
C'était un pseudo-langage, pas du PHP à proprement parler, mais en PHP comme dans la plupart des langages, le ! signifie la négation !vrai=faux par exemple.
En gros if ( !$admin ) équivaut à if ( $admin == false ) (tout comme if ( $admin ) équivaut à if ( $admin == true ) ) où admin serait une variable qui contient vrai si l'utilisateur est un administrateur, faux sinon.
En gros if ( !$admin ) équivaut à if ( $admin == false ) (tout comme if ( $admin ) équivaut à if ( $admin == true ) ) où admin serait une variable qui contient vrai si l'utilisateur est un administrateur, faux sinon.
OK^^
Bon j'ai retesté un truc mais bon c'est toujours pareil...
0 <?
1 mysql_connect("localhost", "root", "") OR die('Erreur de connexion');
2 mysql_select_db("site web") OR die('Erreur de sélection de la base');
3
4 $_SESSION = $login
5
6 $sql = 'SELECT catégorie FROM membre WHERE login=$login';
7 $donnees = mysql_fetch_array($sql)
8
9
10 If (empty($_SESSION['login'])) and $donnees != administrateur
11 {
12 echo '<a href="connexion_interdite.php">'; echo 'impossible d\'établir la connection'; echo '</a>';
13 }
14 Endif
15?>
A mon avis ce que j'ai fait ligne 4 ne dois pas fonctionné...
Et du coup ce que j'ai fait dans la requete (login=$login') ne dois pas fonctionner...
Pourtant je n'es toujours pas d'erreur
Tu vois ce que j'ai voulus faire???
Je veux savoir le login de la personne qui est sur la session à l'arrivée sur la page, je la mets sous forme de variable
Puis je le cherche la ligne qui correspond au login , et sur cette ligne je regarde la catégorie, et si celle ci est differente de administrateur la page ne se s'ouvre pas...
Je te remercie déjà d'avoir consacré un peu de temps à m'écouter, c'est gentil^^
Bon j'ai retesté un truc mais bon c'est toujours pareil...
0 <?
1 mysql_connect("localhost", "root", "") OR die('Erreur de connexion');
2 mysql_select_db("site web") OR die('Erreur de sélection de la base');
3
4 $_SESSION = $login
5
6 $sql = 'SELECT catégorie FROM membre WHERE login=$login';
7 $donnees = mysql_fetch_array($sql)
8
9
10 If (empty($_SESSION['login'])) and $donnees != administrateur
11 {
12 echo '<a href="connexion_interdite.php">'; echo 'impossible d\'établir la connection'; echo '</a>';
13 }
14 Endif
15?>
A mon avis ce que j'ai fait ligne 4 ne dois pas fonctionné...
Et du coup ce que j'ai fait dans la requete (login=$login') ne dois pas fonctionner...
Pourtant je n'es toujours pas d'erreur
Tu vois ce que j'ai voulus faire???
Je veux savoir le login de la personne qui est sur la session à l'arrivée sur la page, je la mets sous forme de variable
Puis je le cherche la ligne qui correspond au login , et sur cette ligne je regarde la catégorie, et si celle ci est differente de administrateur la page ne se s'ouvre pas...
Je te remercie déjà d'avoir consacré un peu de temps à m'écouter, c'est gentil^^
pyschopathe
Messages postés
1974
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
135
24 avril 2009 à 22:18
24 avril 2009 à 22:18
Il faudrait plutôt faire
Ensuite $donnees est un tableau donc faire $donnees != 'administrateur' n'a pas de sens, il faudrait faire le test suivant
$_SESSION['login'] = $login(pas trop sûr de la syntaxe mais l'idée est là)
Ensuite $donnees est un tableau donc faire $donnees != 'administrateur' n'a pas de sens, il faudrait faire le test suivant
$donnees['role'] != 'administrateur'ou tu remplaces role par le nom du champ qui contient le rôle de l'utilisateur dans ta base de données.
login08
Messages postés
32
Date d'inscription
vendredi 24 avril 2009
Statut
Membre
Dernière intervention
5 juin 2009
3
24 avril 2009 à 11:11
24 avril 2009 à 11:11
Bonjour,
Quelque problèmes dans ton code.
Déjà pour pouvoir utiliser les SESSIONS, il te faut un session_start() au debut de ton code.
De plus en ce qui concerne ta variable SESSION, si j'ai bien compris tu veux mettre le login dans la variable donc
$_SESSION['login'] = $login;
Et pour ce morceau de code :
Il y a juste un problème de parenthèse
Il doit surement y avoir encore des erreurs.
J'essaye quand j'ai le temps de réécrire ton morceau de code.
Quelque problèmes dans ton code.
Déjà pour pouvoir utiliser les SESSIONS, il te faut un session_start() au debut de ton code.
De plus en ce qui concerne ta variable SESSION, si j'ai bien compris tu veux mettre le login dans la variable donc
$_SESSION['login'] = $login;
Et pour ce morceau de code :
If (empty($_SESSION['login'])) and (($donnees['catégorie']) != "administrateur"))
Il y a juste un problème de parenthèse
if ( empty($_SESSION['login']) && ($donnees['catégorie']) != "administrateur") )
Il doit surement y avoir encore des erreurs.
J'essaye quand j'ai le temps de réécrire ton morceau de code.
login08
Messages postés
32
Date d'inscription
vendredi 24 avril 2009
Statut
Membre
Dernière intervention
5 juin 2009
3
24 avril 2009 à 11:15
24 avril 2009 à 11:15
Plutôt un truc du genre :
<?php session_start(); mysql_connect("localhost", "root", "") OR die('Erreur de connexion'); mysql_select_db("site web") OR die('Erreur de sélection de la base'); $_SESSION['login']=$login; $sql = "SELECT catégorie FROM membre WHERE catégorie='administrateur'"; $donnees = mysql_fetch_array($sql) If (empty($_SESSION['login']) && ($donnees['catégorie'] != "administrateur")) { echo "<a href='connexion_interdite.php'></a>"; } else { echo "OK !"; } ?>
Le session start était déjà en haut de ma page^^
(avec le code ci-dessous il me met une erreur à cette ligne:
If (empty($_SESSION['login']) && ($donnees['catégorie'] != "administrateur"))
Je vais vous montrer tous le code entier, mais ce ne seras pas utile,enfin...
<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Stric//EN"
"http://www.w3.org/TR/xhtml1-transtional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>administration</title>
<!-- Table de caractères -->
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Mon design" href="design.css" />
</head>
<body style="background-image:url('images/fond_admin.jpg');">
<h4 style="text-align:center; font-weight:bolder;">Panneau d'administration</h4> <br /> <br />
<h2 style="text-decoration: underline;">Administration des news</h2> <br />
<a href="liste_news.php" style="color:red;"> Modifier et supprimer des news</a> <br />
<a href="rediger_news.php" style="color:red;"> Ajouter des news</a> <br /> <br />
<h2 style="text-decoration: underline;">Administration des membres</h2> <br />
<a href="index.php" style="color:red;">lien mort</a> <br />
<a href="index.php" style="color:red;">lien mort (Bannir membres)</a> <br /> <br />
<h2 style="text-decoration: underline;">Administration des produits</h2> <br />
<a href="liste_boitiers.php" style="color:red;">modifier un produit à la page boîtiers</a> <br />
<a href="ajouter_boitiers.php" style="color:red;">ajouter un produit à la page boîtiers</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page carte mère)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page carte mère)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page processeurs)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page processeurs)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page barrettes mémoire)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page barrettes mémoire)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page carte graphique)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page carte graphique)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page disque dur)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page disque dur)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page alimentation)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page alimentation)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page lecteur DVD/CD)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page lecteur DVD/CD)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page écrans)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page écrans)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page accessoires)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page accessoires)</a> <br /><br />
<h2 style="text-decoration: underline;">Vos messages</h2> <br />
<a href="index.php" style="color:red;">lien mort (lire message)</a> <br /> <br />
<a href="index.php"> Retourner à la page d'acceuil</a>
</body>
</html>
<?php
mysql_connect("localhost", "root", "") OR die('Erreur de connexion');
mysql_select_db("site web") OR die('Erreur de sélection de la base');
$_SESSION['login']=$login;
$sql = "SELECT catégorie FROM membre WHERE catégorie='administrateur'";
$donnees = mysql_fetch_array($sql)
If (empty($_SESSION['login']) && ($donnees['catégorie'] != "administrateur"))
{
echo "<a href='connexion_interdite.php'></a>";
}
else
{
echo "OK !";
}
?>
(avec le code ci-dessous il me met une erreur à cette ligne:
If (empty($_SESSION['login']) && ($donnees['catégorie'] != "administrateur"))
Je vais vous montrer tous le code entier, mais ce ne seras pas utile,enfin...
<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Stric//EN"
"http://www.w3.org/TR/xhtml1-transtional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>administration</title>
<!-- Table de caractères -->
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Mon design" href="design.css" />
</head>
<body style="background-image:url('images/fond_admin.jpg');">
<h4 style="text-align:center; font-weight:bolder;">Panneau d'administration</h4> <br /> <br />
<h2 style="text-decoration: underline;">Administration des news</h2> <br />
<a href="liste_news.php" style="color:red;"> Modifier et supprimer des news</a> <br />
<a href="rediger_news.php" style="color:red;"> Ajouter des news</a> <br /> <br />
<h2 style="text-decoration: underline;">Administration des membres</h2> <br />
<a href="index.php" style="color:red;">lien mort</a> <br />
<a href="index.php" style="color:red;">lien mort (Bannir membres)</a> <br /> <br />
<h2 style="text-decoration: underline;">Administration des produits</h2> <br />
<a href="liste_boitiers.php" style="color:red;">modifier un produit à la page boîtiers</a> <br />
<a href="ajouter_boitiers.php" style="color:red;">ajouter un produit à la page boîtiers</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page carte mère)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page carte mère)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page processeurs)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page processeurs)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page barrettes mémoire)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page barrettes mémoire)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page carte graphique)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page carte graphique)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page disque dur)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page disque dur)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page alimentation)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page alimentation)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page lecteur DVD/CD)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page lecteur DVD/CD)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page écrans)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page écrans)</a> <br /><br />
<a href="index.php" style="color:red;">lien mort: modifier (page accessoires)</a> <br />
<a href="index.php" style="color:red;">lien mort: ajouter (page accessoires)</a> <br /><br />
<h2 style="text-decoration: underline;">Vos messages</h2> <br />
<a href="index.php" style="color:red;">lien mort (lire message)</a> <br /> <br />
<a href="index.php"> Retourner à la page d'acceuil</a>
</body>
</html>
<?php
mysql_connect("localhost", "root", "") OR die('Erreur de connexion');
mysql_select_db("site web") OR die('Erreur de sélection de la base');
$_SESSION['login']=$login;
$sql = "SELECT catégorie FROM membre WHERE catégorie='administrateur'";
$donnees = mysql_fetch_array($sql)
If (empty($_SESSION['login']) && ($donnees['catégorie'] != "administrateur"))
{
echo "<a href='connexion_interdite.php'></a>";
}
else
{
echo "OK !";
}
?>
P@t@ch0n
Messages postés
565
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
28 décembre 2009
85
24 avril 2009 à 22:34
24 avril 2009 à 22:34
$sql = 'SELECT catégorie FROM membre WHERE catégorie="administrateur"'; $donnees = mysql_fetch_array($sql)Tu sélectionnes la catégorie où la catégorie vaut administrateur.
Ça sert à quoi ?
C'est comme si on disait prends le pull rouge dans l'armoire seulement si c'est un pull rouge.
If (empty($_SESSION['login']) && $donnees['catégorie'] != "administrateur") )Si $_SESSION['login'] vide ou inexistante ET $donnees['catégorie'] DIFFÉRENT DE "administrateur"
Ça veut rien dire ça.
Je te conseille de suivre un tuto sur les sessions, sur la conception d'un espace d'administration, et sur la logique d'un script.
pyschopathe
Messages postés
1974
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
135
24 avril 2009 à 22:44
24 avril 2009 à 22:44
Erf ! J'avais même pas fait gaffe à la requête, effectivement c'est du lourd !
J'imagine qu'il voulait faire un WHERE login=$login...
J'imagine qu'il voulait faire un WHERE login=$login...
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
24 avril 2009 à 22:45
24 avril 2009 à 22:45
bonsoir rapidement voila une piste
c'est un p'tit code rapide qui parcours ton tableau $donné et si il trouve une valeur administrateur tu est redirigé vers la page de l'admin
mais ton script est effectivement pas logique
$sql = "SELECT categorie FROM membre WHERE categorie=$_POST[tonchamp_categorie]"; //evite d'utiliser les accents $donnees = mysql_fetch_array($sql); //tu retourne un tableau $total=count($donnees); // nbr d'enregistrement dans ton tableau for($i=0;$i<$total;$i++) { if($donnees[$i]=="administrateur" ) { header('location:tapage_admin');// tu peutaussi rediriger en javascript avec window.location.replace } } ?>
c'est un p'tit code rapide qui parcours ton tableau $donné et si il trouve une valeur administrateur tu est redirigé vers la page de l'admin
mais ton script est effectivement pas logique
"Tu sélectionnes la catégorie où la catégorie vaut administrateur.
Ça sert à quoi ?
C'est comme si on disait prends le pull rouge dans l'armoire seulement si c'est un pull rouge. "
Je ne veux que les catégories qui ont pour valeur administrateur
J'ai des pulls rouge gris blanc noir mais je ne veux que les rouges.
"Si $_SESSION['login'] vide ou inexistante ET $donnees['catégorie'] DIFFÉRENT DE "administrateur" "
Session vide ou inexistante cela veux dire que l'utilisateur n'est pas inscrit sur le forum et donc qu'il n'a pas de session, c'est pourquoi elle est vide.
Pour le ET != admin c'est parceque l'utilisateur peux avoir une session mais sans la catégorie administrateur, c'est pour ça que je dois mettre les 2 conditions.
C'est pas de logique que je manque, c'est plutot un manque de rigueur et de connaissance...
En ce qui concerne la piste que tu m'as donné lewis34 voilà ce que j'ai fait... mais toujours le meme problème tous les utilisateurs avec une session n'ayant pas la catégorie administrateur on quand même accès à la page...
<?php
session_start();
mysql_connect("localhost", "root", "") OR die('Erreur de connexion');
mysql_select_db("site web") OR die('Erreur de sélection de la base');
$sql = "SELECT categorie FROM membre WHERE categorie=$_POST[categorie]";
$donnees = mysql_fetch_array($sql);
//tu retourne un tableau
$total=count($donnees); // nbr d'enregistrement dans ton tableau
for($i=0;$i<$total;$i++)
{
if($donnees[$i]=="administrateur" )
{
header('location:page_administration');// tu peutaussi rediriger en javascript avec window.location.replace
}
}
if (!isset($_SESSION['login']))
{
header ('Location: index.php');
exit();
}
?>
Ça sert à quoi ?
C'est comme si on disait prends le pull rouge dans l'armoire seulement si c'est un pull rouge. "
Je ne veux que les catégories qui ont pour valeur administrateur
J'ai des pulls rouge gris blanc noir mais je ne veux que les rouges.
"Si $_SESSION['login'] vide ou inexistante ET $donnees['catégorie'] DIFFÉRENT DE "administrateur" "
Session vide ou inexistante cela veux dire que l'utilisateur n'est pas inscrit sur le forum et donc qu'il n'a pas de session, c'est pourquoi elle est vide.
Pour le ET != admin c'est parceque l'utilisateur peux avoir une session mais sans la catégorie administrateur, c'est pour ça que je dois mettre les 2 conditions.
C'est pas de logique que je manque, c'est plutot un manque de rigueur et de connaissance...
En ce qui concerne la piste que tu m'as donné lewis34 voilà ce que j'ai fait... mais toujours le meme problème tous les utilisateurs avec une session n'ayant pas la catégorie administrateur on quand même accès à la page...
<?php
session_start();
mysql_connect("localhost", "root", "") OR die('Erreur de connexion');
mysql_select_db("site web") OR die('Erreur de sélection de la base');
$sql = "SELECT categorie FROM membre WHERE categorie=$_POST[categorie]";
$donnees = mysql_fetch_array($sql);
//tu retourne un tableau
$total=count($donnees); // nbr d'enregistrement dans ton tableau
for($i=0;$i<$total;$i++)
{
if($donnees[$i]=="administrateur" )
{
header('location:page_administration');// tu peutaussi rediriger en javascript avec window.location.replace
}
}
if (!isset($_SESSION['login']))
{
header ('Location: index.php');
exit();
}
?>
Bonsoir,
Je te suggère de passer par un systeme de droits utilisateurs via la base de données, rajoute un champs mysql que tu nomerais [ droit ] ou y serai assigné un lettre comme "a" = admin / u = "user"
ainsi tu pourrais faire un truc comme:
$sql = mysql_query("
SELECT login, droit
FROM membre
WHERE user = '".mysql_real_escape_string($_SESSION['login'])."'
");
$tab = mysql_fetch_array($sql);
if(isset($_SESSION['login']) && $tab['droit'] == "a")
header('location: page_admin.php');
else header('location: denied.html');
le champs "u" n'est pas utile ici, mais ce systeme s'avere bien pratique dans d'autres situations ;-)
et sur les pages (si plusieurs) admin, tu peux continuer en faisant un include('check_user.php'); voir si l'utilisateur est bien admin.
Bon je n'ai pas testé du tout, c'est vite fait mais c'est avant tout pour t'aiguiller et surtout pas te macher le travail :-)
Je te suggère de passer par un systeme de droits utilisateurs via la base de données, rajoute un champs mysql que tu nomerais [ droit ] ou y serai assigné un lettre comme "a" = admin / u = "user"
ainsi tu pourrais faire un truc comme:
$sql = mysql_query("
SELECT login, droit
FROM membre
WHERE user = '".mysql_real_escape_string($_SESSION['login'])."'
");
$tab = mysql_fetch_array($sql);
if(isset($_SESSION['login']) && $tab['droit'] == "a")
header('location: page_admin.php');
else header('location: denied.html');
le champs "u" n'est pas utile ici, mais ce systeme s'avere bien pratique dans d'autres situations ;-)
et sur les pages (si plusieurs) admin, tu peux continuer en faisant un include('check_user.php'); voir si l'utilisateur est bien admin.
Bon je n'ai pas testé du tout, c'est vite fait mais c'est avant tout pour t'aiguiller et surtout pas te macher le travail :-)
Double post désolé, je dois réctifier une grossiere erreur dans la requete ^^
Donne:
$sql = mysql_query(" SELECT login, droit FROM membre WHERE user = '".mysql_real_escape_string($_SESSION['login'])."' ");
Donne:
$sql = mysql_query(" SELECT login, droit FROM membre WHERE login = '".mysql_real_escape_string($_SESSION['login'])."' ");
Oui, mais je n'est pas le choix, il faut quand que je vérifie si la session existe...
(J'ai essayé sans vérifier mais le code ne fonctionne pas)
(J'ai essayé sans vérifier mais le code ne fonctionne pas)
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
25 avril 2009 à 16:09
25 avril 2009 à 16:09
dans ce cas tu peux faire ta verification avant ta requete ça serait plus logique...