Est-ce que ça le fait si je créér une page Menuindex-SPECIAL-ADMIN.php et une page Menupages-SPECIAL-ADMIN.php et je laisse les deux autres Menuindex.php et Manupages.php d'origine ...
Ainsi en fonction de :
if($_SESSION['grades'] == 1)
Et bien je fais un include du menu qui va bien ???
Qu'en penses-tu, c'est peut etre un peu une usine à gaz que je suis en train de construire là non ???[/php]
------------------
EDIT:
Donc dans ma page formulaire_connex.php qui a ce code:
<?php
session_start();
// Indique le bon format des entêtes (par défaut apache risque de les envoyer au standard ISO-8859-1)
header('Content-type: text/html; charset=UTF-8');
/* Création d'une fonction - utilisée dans la récupération des variables - qui teste la configuration get_magic_quotes_gpc du serveur.
Si oui, supprime avec la fonction stripslashes les antislashes "\" insérés dans les chaines de caractère des variables gpc (GET, POST, COOKIE) */
function Verif_magicquotes ($chaine)
{
if (get_magic_quotes_gpc()) $chaine = stripslashes($chaine);
return $chaine;
}
// Initialisation du message de réponse
$message = null;
// Si le formulaire est envoyé
if (isset($_POST['inscr_pseudo']))
{
/* Récupération des variables issues du formulaire
Teste l'existence les données post en vérifiant qu'elles existent, qu'elles sont non vides et non composées uniquement d'espaces.
(Ce dernier point est facultatif et l'on pourrait se passer d'utiliser la fonction trim())
En cas de succès, on applique notre fonction Verif_magicquotes pour (éventuellement) nettoyer la variable */
$pseudo = (isset($_POST['inscr_pseudo']) && trim($_POST['inscr_pseudo']) != '')? Verif_magicquotes($_POST['inscr_pseudo']) : null;
$pass = (isset($_POST['inscr_pass']) && trim($_POST['inscr_pass']) != '')? Verif_magicquotes($_POST['inscr_pass']) : null;
// Si $pseudo et $pass différents de null
if(isset($pseudo,$pass))
{
/* Connexion au serveur : dans cet exemple, en local sur le serveur d'évaluation
A MODIFIER avec vos valeurs */
$hostname = "localhost";
$database = "xxx";
$username = "root";
$password = "";
$connection = mysql_connect($hostname, $username, $password) or die(mysql_error());
// Connexion à la base
mysql_select_db($database, $connection);
// Indique à mySql de travailler en UTF-8 (par défaut mySql risque de travailler au standard ISO-8859-1)
mysql_query("SET NAMES 'utf8'");
// Préparation des données pour les requêtes à l'aide de la fonction mysql_real_escape_string
$nom = mysql_real_escape_string($pseudo);
$password = mysql_real_escape_string($pass);
// Requête pour compter le nombre d'enregistrements répondant à la clause : champ du pseudo et champ du mdp de la table = pseudo et mdp posté dans le formulaire
$requete = "SELECT count(*) as nb FROM membre WHERE inscr_pseudo = '".$nom."' AND inscr_pass = '".$password."'";
// Exécution de la requête
$req_exec = mysql_query($requete) or die(mysql_error());
// Création du tableau associatif du résultat
$resultat = mysql_fetch_assoc($req_exec);
// nb est le nom de l'allias associé à count(*) et retourne le résultat de la requête dans le tableau $resultat;
if ($resultat['nb'] == 1)
// Résultat du comptage = 1 , le pseudo et le mot de passe sont correct
{
{
/* Démarre la session et enregistre le pseudo dans la variable de session $_SESSION['inscr_pseudo']
qui donne au visiteur la possibilité de se connecter. */
session_start();
$_SESSION['inscr_pseudo'] = $pseudo;
//redirection vers la page que tu veux en cas de succès
header("Location: connexion_reussi.php");
exit();
}
}
else
{ // Le pseudo ou le mot de passe sont incorrect
$message = 'Le pseudo ou le mot de passe sont incorrect';
}
}
}
?>
Ce que je dois changer ce trouve à ce niveau là:
/* Démarre la session et enregistre le pseudo dans la variable de session $_SESSION['inscr_pseudo']
qui donne au visiteur la possibilité de se connecter. */
session_start();
$_SESSION['inscr_pseudo'] = $pseudo;
//redirection vers la page que tu veux en cas de succès
header("Location: connexion_reussi.php");
exit();
Et là je pourrais mettre:
/* Démarre la session et enregistre le pseudo dans la variable de session $_SESSION['inscr_pseudo']
qui donne au visiteur la possibilité de se connecter. */
session_start();
if($row['grades'] == 1) // S'il est admin
{
$_SESSION['grades'] = 555;
}
else // Sinon
{
$_SESSION['grades'] = 666;
}
$_SESSION['inscr_pseudo'] = $pseudo;
//redirection vers la page que tu veux en cas de succès
header("Location: connexion_reussi.php");
exit();
Ca te parait pas trop bête ???
--------------------
RE-EDIT:
J'ai ajouté ceci en début de page Menuindex.php et Menupages.php:
<!-- Vérification du grade du membre -->
<?php
if($_SESSION['grades'] = 555)
{
echo 'Bienvenue à toi honorable admin';
}
else // Sinon
{
$_SESSION['grades'] = 666; // S'il n'est que membre
echo 'Tu n\'es pas admin';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<link href="../Design/stylemenu.css" rel="stylesheet" type="text/css" />
</head>
<body onload="MM_preloadImages('../Images/Structure/Bout_menu_select.gif')">
<!-- le onload permet de précharger l'image du bouton quand on est dessus ce qui évite au premier coup d'avoir un temps de latence -->
<?php
//echo $_GET['ecl'];
if(empty($_GET['ecl']))
{
$ecl= 0 ;
}
else {
$ecl = $_GET['ecl'];
}
//echo $_GET['ecl'];
?>
<ul>
<!-- le # du href="#" est à remplacer par le lien qui va bien :-) -->
<li><a href="Pages/Form_Connexion.php" target="_self">Connexion V.I.P</a><br/></li>
<li><a href="Pages/Dons.php" target="_self">Faire un don</a><br/></li>
<li><a href="Pages/Liste_Article_Admin.php" target="_self">Lister les articles - RESERVE ADMIN</a></li>
Mais il m'affiche tjs "Bienvenue à toi honorable admin" .... meme une fois firefox "purger" ....
Et si je met session_start il me remet le message d'erreur :
Code : Tout sélectionner
Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\Index.php:8) in C:\wamp\www\Menu\MenuIndex.php on line
As-tu une idée ?
[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]