Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment créer une page de connexion?

Aidez moi svp!

27 juillet 2011 à 19:41:05

Bonjour,
Je voudrais créer un page de connexion qui vérifie le mot de passe et le login (logique :D ) et ensuite qui redirige vers une page du site ou toute les informations du compte seront affichées (arme,argent,.....).
Merci d'avance.
  • Partager sur Facebook
  • Partager sur Twitter
27 juillet 2011 à 19:43:24

oui et tu as deja fait quelque chose ?
  • Partager sur Facebook
  • Partager sur Twitter
27 juillet 2011 à 19:50:33

Un formulaire en POST, une vérification et création d'une session :)
  • Partager sur Facebook
  • Partager sur Twitter
27 juillet 2011 à 20:03:53

Mais la ou sa bloc c'est pour vérifier le login et le mdp. :euh:
  • Partager sur Facebook
  • Partager sur Twitter
27 juillet 2011 à 20:06:06

Alors déjà tu cherches si le pseudo existe si oui alors on prend le mot de passe (crypté en md5 ou sha-1) et tu compare si la comparaison est bonne alors tu crées une session avec l'id du membre et tu fais une page qui cherche ses infos comme les armes et tous grace à son id
  • Partager sur Facebook
  • Partager sur Twitter
27 juillet 2011 à 20:13:04

Merci nico sa ma bien aider :)
  • Partager sur Facebook
  • Partager sur Twitter
27 juillet 2011 à 20:21:19

On va pas te faire ton boulot, mais on peut te diriger.
Si t'as déjà fais l'inscription, te reste plus qu'à faire ça :
  • Un formulaire (pseudo, mdp). Tu stockes les valeurs envoyées dans des variables $pseudo et $mdp.
  • Tu te connectez à ta base de données : et la tu lances une requête qui sélectionne la ligne correspondant au pseudo entré grâce à la clause WHERE.
  • Et là tu vérifies si le mot de passe entré correspond à celui qui est enregistré.
  • Si oui, tu crées $_SESSION['pseudo'] = $pseudo, $_SESSION['id'] = $donnees['id']
  • Si non, tu affiches une erreur.

Bien sûr, tu utilises la technique du grain de sel/hash sha1 pour "coder" les mots de passes.
  • Partager sur Facebook
  • Partager sur Twitter
27 juillet 2011 à 21:04:20

Merci a vous!
Grâce a vos conseil j'ai programmer un petit programme de base en 4 page.
index.php
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { 
   if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { 
 
      $base = mysql_connect ('localhost', 'root', ''); 
      mysql_select_db ('test', $base); 
      
      // on teste si une entrée de la base contient ce couple login / pass
      $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"'; 
      $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
      $data = mysql_fetch_array($req); 
      
      mysql_free_result($req); 
      mysql_close(); 
      
      // si on obtient une réponse, alors l'utilisateur est un membre
      if ($data[0] == 1) { 
         session_start(); 
         $_SESSION['login'] = $_POST['login']; 
         header('Location: membre.php'); 
         exit(); 
      } 
      // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
      elseif ($data[0] == 0) { 
         $erreur = 'Compte non reconnu.'; 
      } 
      // sinon, alors la, il y a un gros problème 
      else { 
         $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; 
      } 
   } 
   else { 
      $erreur = 'Au moins un des champs est vide.'; 
   }  
}  
?>
<html>
<head>
<title>Accueil</title>
</head>
 
<body>
Connexion à l'espace membre :<br />
<form action="index.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
<input type="submit" name="connexion" value="Connexion">
</form>
<a href="inscription.php">Vous inscrire</a>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;  
?>
</body>
</html>

membre.php
<?php
    session_start();  
    if (!isset($_SESSION['login'])) { 
       header ('Location: index.php'); 
       exit();  
    }  
    ?>
     
    <html>
    <head>
    <title>Espace membre</title>
    </head>
     
    <body>
    Bienvenue<?php echo htmlentities(trim($_SESSION['login'])); ?>!<br />
    <a href="deconnexion.php">Déconnexion</a>
    </body>
    </html>

deconnexion.php
<?php
    session_start();  
    session_unset();  
    session_destroy();  
    header('Location: index.php');  
    exit();  
    ?>

inscription.php
<?php
    // on teste si le visiteur a soumis le formulaire
    if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') { 
       // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
       if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) { 
          // on teste les deux mots de passe
          if ($_POST['pass'] != $_POST['pass_confirm']) { 
             $erreur = 'Les 2 mots de passe sont différents.'; 
          } 
          else { 
             $base = mysql_connect ('localhost', 'root', ''); 
             mysql_select_db ('test', $base); 
             
             // on recherche si ce login est déjà utilisé par un autre membre
             $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"'; 
             $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
             $data = mysql_fetch_array($req); 
     
             if ($data[0] == 0) { 
                $sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")'; 
                mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
     
                session_start(); 
                $_SESSION['login'] = $_POST['login']; 
                header('Location: membre.php'); 
                exit(); 
             } 
             else { 
                $erreur = 'Un membre possède déjà ce login.'; 
             } 
          } 
       } 
       else { 
          $erreur = 'Au moins un des champs est vide.'; 
       }  
    }  
    ?>
    <html>
    <head>
    <title>Inscription</title>
    </head>
     
    <body>
    Inscription à l'espace membre :<br />
    <form action="inscription.php" method="post">
    Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
    Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
    Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
    <input type="submit" name="inscription" value="Inscription">
    </form>
    <?php
    if (isset($erreur)) echo '<br />',$erreur;  
    ?>
    </body>
    </html>

Et voila merci a vous!
PS:base de donné: membre avec pass_md5(text);login(text);id(int et tou se qui va avec :D )
Pour les débutants: derien :p
J'ai oublier un détaille:
je ne c'est pas sélectionné l'id ><
  • Partager sur Facebook
  • Partager sur Twitter
28 juillet 2011 à 11:14:11

SELECT ID FROM membre WHERE login = $_POST['login']

Biensur apres tu fais ce que tu dois faire pour :)
  • Partager sur Facebook
  • Partager sur Twitter
10 janvier 2017 à 9:28:03

@Huhuw bonjour, le sujet date de 2011, j'ai mis en spam le message publicitaire ayant remonté le sujet.

Je ferme.

  • Partager sur Facebook
  • Partager sur Twitter