IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Connexion espace client et admin


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2013
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Connexion espace client et admin
    J'ai crée l'espace membre et l'espace client mais je ne trouve pas comment envoyez le connecteur a son espace qui a une idées un aides svp je suis bloquée
    le choix de table dan la base des données
    ........

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 173
    Points : 187
    Points
    187
    Par défaut
    Que veux-tu faire exactement? L'envoyer vers le bon espace en fonction de ses droits?

    Si c'est ca, alors tu récupères ses doits (enregistrés en BD par exemple) après la connexion dans une variable session (qui sera donc accessible durant toute la session) et tu fais les traitements en fonction (exemple: si c'est un admin, alors tu le rediriges vers la page d'administration et si c'est un simple utilisateur alors tu le renvoies vers la page pour les utilisateurs).

    Il faudrait aussi faire un controle en haut de chaque page pour vérifier que les variables sessions sont bien initialisées (et donc que l'utilisateur est bien connecté si c'est une page nécessitant une connexion préalable) mais aussi qu'il a bien les doits d'accéder à la page (sinon retour à la page de connexion ou à sa page d'accueil selon le cas).
    Diplomes: DUT informatique et Master 2 MIAGE.
    Développeur Java/J2EE (principalement), .NET (niveau scolaire mais je compte m'améliorer ) et Web (HTML, PHP...).

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2013
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    J'ai crée un identifiant sur la BD si se id=0 je le dirige vers l'espace client et si le id=1 je le dirige vers l'espace admin avec et j'ai fait dans le formulaire d'inscription la valeur de id sera incrémenter 0 automatiquement avec un test de if et else if et je teste la session a chaque foit voila mon code source.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
        <meta charset="utf-8"/>
    </head>
    <body>
    <?php
    session_start(); 
    if(isset($_POST['submit']))
    {
    $Pseudo =htmlspecialchars(trim($_POST['Pseudo']));
    $Motdepasse =htmlspecialchars(trim($_POST['Motdepasse']));
     if($Pseudo&&$Motdepasse)
     {
     $connect=mysql_connect('localhost','root','');
    	mysql_select_db('phplogin');
      $log=mysql_query("SELECT * FROM user WHERE Pseudo='$Pseudo' AND Motdepasse='$Motdepasse'AND ED='0'");	
      $log1=mysql_query("SELECT * FROM user WHERE Pseudo='$Pseudo' AND Motdepasse='$Motdepasse'AND ED='1'");
      $rows=mysql_num_rows($log);
      $rows1=mysql_num_rows($log1);
      if($rows==1)
      {  
       $_SESSION['Pseudo']=$Pseudo;
       header('Location:membre.php');
      }
      elseif($rows1==1){
     $_SESSION['Pseudo']=$Pseudo;
       header('Location:Admin.php');
      }else echo"Vouz n'avez pas le droit de connecté"; 
     }else echo"Veuliez saisre tous les champs";
     }
    ?>
    <form method="POST" action="login.php">
    <p> Entrer Votre Pseudo</p>
    <input type="text" name="Pseudo">
    <p> Entrer Votre Mot De Passe </p>
    <input type="password" name="Motdepasse">
    </br>
    <input type="submit" name="submit" value="inscription">
    </form>
    </body>
    </html>

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 173
    Points : 187
    Points
    187
    Par défaut
    Alors déjà voici mes remarques sur ton code:
    - Aère ton code (par exemple dans tes if): if($Pseudo && $Motdepasse)
    - Pour le mot de passe, tu ne sembles pas utiliser de hashage (MD5, SHA1...) car tu ne hashes pas le mot de passe avant de faire la requête avec. Utilises en une pour sécuriser tout ca!
    - Pourquoi fais-tu deux fois la requête? Tu pourrais faire "WHERE Pseudo='$Pseudo' AND Motdepasse='$Motdepasse'" pour récupérer la ligne correspondant à ces données (en BD je te conseille fortement de stocker des pseudos UNIQUES). Ensuite, tu extrais de $log (qui contiendra la ligne donc) la valeur de ta colonne ED (je te conseille de la stocker dans une variable session pour le tester ensuite en haut des pages, j'y reviendrais après avec un exemple) puis en fonction tu fais ton traitement. Voici ce que tu pourrais faire après avoir fait une seule requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if($rows == 1) { // on a un résultat qui correspond
       // initialisation des variables de session avec les données de la ligne récupérée
       $_SESSION['Pseudo'] = $Pseudo;
       $_SESSION['ED'] = $log['ED'];
       if($_SESSION['ED'] == 0) { // c'est un membre
          header('Location: membre.php');
       } else { // c'est un admin
          header('Location: Admin.php');
       }
    } else { // mauvais identifiant ou mot de passe
       echo"Mauvais identifiant ou mot de passe, veuillez ressaisir"; // ici je te conseille de ne pas faire de echo directement en haut de ta page car cela s'afficherait en haut au lieu de sous les champs de saisi par exemple (c'est juste pour l'exemple)
    }

    Pour les pages de ton site (ou wiki à ce que j'ai compris), testes que l'utilisateur est connecté et qu'il a les droits d'accéder à la page en haut de ta page (je te conseille de passer par des fonctions comme dans l'exemple ci-dessous):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    session_start();
     
    include './Fonctions/fonctions.php';
     
    /* VERIFICATIONS D'ACCES PAGE */
     
    // vérification que l'utilisateur s'est bien connecté
    controler();
     
    // définition des droits pour accéder à cette page
    $tab = array(0,1); // ici et l'admin et un membre pourrait accéder (il te faut adapter selon les pages)
     
    // vérification que l'utilisateur a le droit d'accéder à cette page
    verifier($tab);
    Voici un exemple de code pour les fonctions utilisées ci-dessus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    // controle que l'utilisateur s'est bien connecté
    function controler()
    {
       // s'il n'existe pas de variables sessions, il ne s'est pas connecté
       if(!isset($_SESSION['ED']) && !isset($_SESSION['Pseudo']))
       {
    	header ("Location: identification.php");
       }
    }
     
    // vérification d'accès autorisé à la page
    function verifier($tab)
    {
       $autorise = false;
       $i = 0;
       $taille = sizeof($tab);
       while($i<$taille && !$autorise)
       {
          if($tab[$i] == $_SESSION['ED'])
          {
              $autorise = true;
          }
          $i++;
       }
     
       if(!$autorise) // si non autorisé, on redirige vers sa page d'accueil
       {
          if($_SESSION['ED'] == 0) { // c'est un membre
             header('Location:membre.php');
          } else { // c'est un admin
             header('Location:Admin.php');
          }
       }
    }
    Diplomes: DUT informatique et Master 2 MIAGE.
    Développeur Java/J2EE (principalement), .NET (niveau scolaire mais je compte m'améliorer ) et Web (HTML, PHP...).

Discussions similaires

  1. ODBC probleme de connexion du client LINUX --> serveur windows
    Par lmdpedat dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/07/2006, 11h32
  2. ODBC probleme de connexion du client LINUX --> serveur windows
    Par lmdpedat dans le forum Installation
    Réponses: 5
    Dernier message: 29/06/2006, 16h33
  3. Réponses: 7
    Dernier message: 29/06/2006, 15h20
  4. [C++] Probleme de connexion socket client à mon serveur smtp
    Par matthieu5978 dans le forum Développement
    Réponses: 2
    Dernier message: 04/12/2005, 08h19
  5. [infos]connexion applet client+serveur
    Par freums dans le forum Applets
    Réponses: 5
    Dernier message: 25/08/2005, 09h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo