Protéger une page utilisateurs
Posté : 23 nov. 2013, 11:51
Salut ! Voilà sur mon site je souhaiterai réservé l’accès à certaines pages uniquement pour les membres.
Dans ce but j'utilise une fonction qui renvois true ou false si la personne est connecté.
Voici l'exemple d'une page membre :
Warning: Cannot modify header information - headers already sent by (output started at /home/alcudia/www/inclusion/top_inc.php:134) in /home/alcudia/www/profil.php on line 40
Le problème c'est que je n'arrive pas à faire autrement car si je n'inclue pas mon header qui contient mon fichier config et donc ma fonction qui appel $user cela ne marche donc pas.
Si quelqu'un à une idée pour éviter d'avoir cette erreur, je suis preneur ^^
Merci d'avance.
Dans ce but j'utilise une fonction qui renvois true ou false si la personne est connecté.
Voici l'exemple d'une page membre :
<?php include("inclusion/top_inc.php");
if($user >0) {
?>
<article> <!-- /// Partie contenu \\\ -->
<h2 id="top_section"><?php echo $_SESSION['Auth']['etat']; ?></h2>
<div id="conteneur_texte"> <!-- /// Contenu article \\\ -->
<div id="conteneur_photo_membre2">
<div id="photo_profil_membre"><img class="img_user2" src="<?php echo $_SESSION['Auth']['image']; ?>"></div>
<a href="modifier_image.php">Modifier</a>
</div>
<h3><?php echo $_SESSION['Auth']['nom'] .' '. $_SESSION['Auth']['prenom']; ?></h3>
<?php mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
mysql_query ('SET NAMES "UTF8"');
$id_user = $_SESSION['Auth']['id'];
$sql = "SELECT * FROM membre WHERE id=$id_user";
$req2 = mysql_query($sql) or die('Erreur SQL !<br />' .$sql. '<br />' .mysql_error());
while ($data2 = mysql_fetch_assoc($req2)) {
$date_naissance = htmlentities($data2['date']);
$adresse = htmlentities($data2['adresse']);
$ville = htmlentities($data2['ville']);
$codep = htmlentities($data2['codep']);
$tel = htmlentities($data2['tel']);
} ?>
<ul id="liste_profil">
<li><p class="liste_profil_li">Mail :<span class="champ_profil_user"><?php echo $_SESSION['Auth']['mail'] ?></span></p></li>
<li><p class="liste_profil_li">Date de naissance :<span class="champ_profil_user"><?php echo $date_naissance; ?></p></li>
<li><p class="liste_profil_li">Adresse :<span class="champ_profil_user"><?php echo $adresse ?></span></p></li>
<li><p class="liste_profil_li">Ville :<span class="champ_profil_user"><?php echo $ville ?></span></p></li>
<li><p class="liste_profil_li">Code postal :<span class="champ_profil_user"><?php echo $codep ?></span></p></li>
<li><p class="liste_profil_li">Téléphone :<span class="champ_profil_user"><?php echo $tel ?></span></p></li>
</ul>
<i><p style="color: red;"><?php if($_SESSION['Auth']['niveau']){echo 'Vous êtes administrateur !';}?></p></i>
</div>
</article>
</section>
<?php include("inclusion/bottom_inc.php");
}
else { header('location:index.php');
} ?>
Tout va bien quand on est connecter mais une fois déconnecter j'ai cette erreur :Warning: Cannot modify header information - headers already sent by (output started at /home/alcudia/www/inclusion/top_inc.php:134) in /home/alcudia/www/profil.php on line 40
Le problème c'est que je n'arrive pas à faire autrement car si je n'inclue pas mon header qui contient mon fichier config et donc ma fonction qui appel $user cela ne marche donc pas.
Si quelqu'un à une idée pour éviter d'avoir cette erreur, je suis preneur ^^
Merci d'avance.