Sécurisé mon espace

Résolu/Fermé
debloc12 Messages postés 72 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 1 juin 2013 - 6 déc. 2012 à 10:54
debloc12 Messages postés 72 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 1 juin 2013 - 6 déc. 2012 à 16:30
Salut tout le monde,
j'ai fait un site web et j'ai fait ma connexion avec des membre et des administrateur.
mais je veut sécuriser les espaces j'ai des erreurs je veut que lorsque l'administrateur ou le membre accéder à son espace avec l'url il trouve un message d'erreur il faut le reconnecter une autre fois. s'il vous plais aidez moi merci d'avance.

7 réponses

Ika Pro Messages postés 149 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 30 octobre 2013 4
6 déc. 2012 à 10:57
faudrait que tu nous passe le code pour voir ou est l'erreur sinon, on peut pas t'aider ^^
0
debloc12 Messages postés 72 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 1 juin 2013
6 déc. 2012 à 11:02
ok le code de la page login.php:
<?php
include ('base.php');

// On définit un login et un mot de passe de base pour tester notre exemple. Cependant, vous pouvez très bien interroger votre base de données afin de savoir si le visiteur qui se connecte est bien membre de votre site
$login_membre=$_POST['login_membre'];
$mdp_membre=$_POST['mdp_membre'];

// on teste si nos variables sont définies
if (isset($_POST['login_membre']) && isset($_POST['mdp_membre'])) {

// on vérifie les informations du formulaire, à savoir si le pseudo saisi est bien un pseudo autorisé, de même pour le mot de passe
$sql="select * from membre where login_membre ='". $login_membre."' and mdp_membre = '".$mdp_membre."'" ;
$resultat=mysql_query($sql);
$nb=mysql_num_rows($resultat);
if($nb>0)
{
session_start ();
while ( $row = mysql_fetch_array( $resultat)) {
$_SESSION['login_membre']=$row["login_membre"];
$_SESSION['email_membre']=$row["email_membre"];
$_SESSION['nom_membre']=$row["nom_membre"];
$_SESSION['prenom_membre']=$row["prenom_membre"];
$_SESSION['mdp_membre']=$row["mdp_membre"];
$_SESSION['grade']=$row["grade"];

// on redirige notre visiteur vers une page de notre section membre


header ('location: page_membre.php');


} }
else {
// Le visiteur n'a pas été reconnu comme étant membre de notre site. On utilise alors un petit javascript lui signalant ce fait
echo '<body onLoad="alert(\'Membre non reconnu...\')">';
// puis on le redirige vers la page d'accueil
echo '<meta http-equiv="refresh" content="0;URL=connexion.php">';
}
}
else {
echo 'Les variables du formulaire ne sont pas déclarées.';
header ('location: index.php');
}
?>


et le code de la page logout.php:
<?php
// On démarre la session
session_start ();
$_SESSION= array();
// On détruit les variables de notre session
session_unset ();

// On détruit notre session
session_destroy ();
// On redirige le visiteur vers la page d'accueil
header ('location: connexion.php');
?>

et le code de la page page_membre.php:

<?php
include ('base.php');


// On démarre la session (ceci est indispensable dans toutes les pages de notre section membre)
session_start ();

// On récupère nos variables de session
if (isset($_SESSION['login_membre']) && isset($_SESSION['mdp_membre'])) {
if ($_SESSION['grade']!='admin'){
// On teste pour voir si nos variables ont bien été enregistrées
header ('location: profil.php');
} else {
header ('location: profil_admin.php');
}
// On affiche un lien pour fermer notre session
echo '<a href="./logout.php">Déconnection</a>';
}
else {
echo 'Les variables ne sont pas déclarées.';
}
?>


et le profil du membre (profil.php):
<h2 class="title" align="center"><img src="images/espace-membres.jpg" width="40" height="40">Espace Membre</h2><br>
<?php
echo "<h2 align='center'>Bienvenue ".$_SESSION['login_membre'],"</h2>";
?>
<ul>
<li><a href="info_personel.php">Modifier mes information personnelle</a></li>
<li><a href="credit.php">Mes credits</a></li>
<li><a href="#">Déconnexion</a></li>
</ul>
et finalement le code de la page administrateur (profil_admin.php):
<h2 class="title" align="center"><img src="images/cadenas.png" width="40" height="40">Espace administratif</h2><br>
<?php
echo "<h2 align='center'>Bienvenue ".$_SESSION['login_membre']."</h2>";
?>
<ul>
<li><a href="liste_membre.php">Consulter la liste des membres</a> </li>
<li><a href="ajout_services.php">Ajouter services</a></li>
<li><a href="#">Débloquer</a></li>
<li><a href="commandes.php">Commandes</a></li>
<li><a href="deconnexion.php">Déconnexion</a> </li>
</ul>
0
Ika Pro Messages postés 149 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 30 octobre 2013 4
Modifié par Ika Pro le 6/12/2012 à 11:08
alors, déjà, important, tu doit ouvrir ta session sur toutes les pages avant TOUS autre code de ton site si tu veux que l'utilisateur soit connecté ou puisse ce connecter directement sur la page sur laquelle il tombe.

Fais ces modif et tien nous au courant ;)
0
debloc12 Messages postés 72 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 1 juin 2013
6 déc. 2012 à 11:15
oui bien sur j'ai déja fait ça

<?php
include('base.php');
session_start();
?>
et j'ai une page base.php qui contient :


<?php
// on se connecte a la base de donnees
$connect=mysql_connect('127.0.0.1','root','') or die('Impossible de connecter à la base de données');
mysql_select_db('base');
// nom de fichier de l'accueil
?>
et jusqu'à maintenant je n'arrive pas à résoudre ce problème s'il vous plais aidez moi car lorsque je connecte comme étant un administrateur je peut accéder a l'espace membre mais c'est une faute ???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ika Pro Messages postés 149 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 30 octobre 2013 4
6 déc. 2012 à 11:23
si tu te trouve en local, remplace

$connect=mysql_connect('127.0.0.1','root','')

par

$connect=mysql_connect('localhost','root','')
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
6 déc. 2012 à 15:55
au début de ta page admin tu dois verifier que la session est ouverte et est bien admin

<?php
session_start();
if(!isset($_SESSION['grade']) || $_SESSION['grade'] !='admin'){
header('Location:index.php'); //on renvoie à la page de connexion
}else{
include('base.php');
//et la suite de ta page admin


}

?> 
0
debloc12 Messages postés 72 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 1 juin 2013
6 déc. 2012 à 16:30
merci bien ;)
0