Sécurisé mon espace

Résolu
debloc12 Messages postés 87 Statut Membre -  
debloc12 Messages postés 87 Statut Membre -
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

  1. Ika Pro Messages postés 161 Statut Membre 4
     
    faudrait que tu nous passe le code pour voir ou est l'erreur sinon, on peut pas t'aider ^^
    0
  2. debloc12 Messages postés 87 Statut Membre
     
    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
  3. Ika Pro Messages postés 161 Statut Membre 4
     
    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
  4. debloc12 Messages postés 87 Statut Membre
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Ika Pro Messages postés 161 Statut Membre 4
     
    si tu te trouve en local, remplace

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

    par

    $connect=mysql_connect('localhost','root','')
    0
  7. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  8. debloc12 Messages postés 87 Statut Membre
     
    merci bien ;)
    0