Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de connexion

Sujet résolu
    23 décembre 2005 à 21:55:36

    Bonsoir à tous,
    Je suis en train de créer un espace membre sur mon site. Tout se passe très bien, j'ai fait l'inscription avec cryptage en md5. Alors j'ai voulu tester, je me suis donc inscrit, j'ai été voir dans la base de données si c'était bien enregistré et bien crypté, ca l'est ! Je vais sur la page de connexion, je rentre mes identifiants et là il me dit que mes identifiants sont mauvais :(

    Voilà ma page d'inscription :
    Formulaire (inscription.php) :
            <form method="post" action="envoie.php">
            <div align="center">
            <p>      <span class="Style1">
            <input type="hidden" name="reponse_id" value="<? print $_GET[id]; ?>">
            </div>
            <table border="0" width="350" align="center">
            <tr>
            <td width="196"><b>Votre pseudo</b></td>
            <td width="144"><input type="text" name="pseudo"></td>
            </tr>
            <tr>
            <td width="196"><b>Votre adresse e-mail</b></td>
            <td width="144"><input type="text" name="email"></td>
            </tr>
            <tr>
            <td width="196"><b>Votre mot de passe </b></td>
            <td width="144"><input type="password" name="password"></td>
            </tr>
            <tr>
            <td><b>Retappez votre mot de passe </b></td>
            <td><input type="password" name="pass2"></td>
            </tr>
            <td colspan="2" align="center"> </td>
            </tr>
            <tr>
            <td colspan="2" align="center"><input type="submit" name="submit" value="Valider"></td>
            </tr>
            </table>
            </form> 


    Récupération des données (envoie.php)
    <?
    $pseudo = htmlentities($_POST['pseudo']);
    $pass_nocrypt = htmlentities($_POST['password']);
    $password = md5(htmlentities($_POST['password']));
    $pass2 = md5(htmlentities($_POST['pass2']));
    $email = htmlentities($_POST['email']);
    $message = 'Cher '.$pseudo.',';
    $message .= '

    Votre inscription sur www.Team-Heavy.be a bien été prise en compte. '
    ;
    $message .= 'Vous avez maintenant accès aux options des membres. Vous allez pouvoir ajouter des événement dans l\'agenda, proposer des news,...  ';                                               
    $message .= 'Pour vous connecter, il vous faut vos identifiants. Voici un rappel de vos identifiants au cas ou vous les auriez déjà oubliés.';
    $message .= '

    Login: '
    .$pseudo.'
    Password: '
    .$pass_nocrypt.' ';
    $message .= '

    A bientot sur le site et les forums Team-Heavy'
    ;
    $message .= '

    Cordialement,
    Hooli'
    ;
    include("mysql.php"); //Connexion à la db
    $verification = mysql_query("SELECT COUNT(*) FROM membres
    WHERE pseudo='$pseudo'"
    ) or die (mysql_error());
    $donnees = mysql_fetch_array($verification)or die (mysql_error());


    if($donnees['COUNT(*)'] >= 1)
    {
      ?><center><? echo 'Ce pseudo est déjà utilisé, veuillez
    en prendre un autre.'
    ;?></center>
         <center class="Style1">
           <a href="javascript:history.back(1)">retour</a>
         </center>                         

    <?
    }
    $verification2 = mysql_query("SELECT COUNT(*) FROM
    membres WHERE email='$email'"
    ) or die (mysql_error());
    $donnees2 = mysql_fetch_array($verification2)or die (mysql_error());


    if($donnees2['COUNT(*)'] >= 1)
    {
      ?><center><? echo 'Cette adresse e-mail est déjà utilisée,
    veuillez en prendre une autre.'
    ;?></center>
         <center class="Style1">
           <a href="javascript:history.back(1)">retour</a>
         </center> 
         <?
    }
    elseif( empty($pseudo) || empty($password) || empty($pass2) || empty($email))
    {
      ?><center>Les champs ne sont pas tous remplis</center><br><center><a href="inscription.php">
    Cliquez ici pour revenir au formulaire d'inscription
    </a></center><?php
    }
    elseif( $password != $pass2)
    {
      ?><center>Vos passwords ne sont pas identiques<br>
    <a href="inscription.php">Cliquez ici pour retourner
    au formulaire d'
    inscription</a></center><br>
    <?php
    }
    else
    {
      mysql_query("INSERT INTO membres
    (id, pseudo, password, email) VALUES
    ('','$pseudo', '$password', '$email')"
    );

      ?><center>Votre inscription a bien été prise en
    compte, un mail vous a été envoyé.<br>
    </center><br><?php

      mail($email,'Inscription à votre site',$message);

      mysql_close();
    }
    ?>


    La page de connexion :
    Formulaire (connexion.php) :
            <h3>Connexion</h3>
    <center>
    <form action="login.php" method='post'>

    Login :<br/>
    <input type="text" name="pseudo" maxlength="250"><br/>

    Password :<br/>
    <input type="password"name="password" maxlength="10"><br/>
    <input type="submit" name="submit" value="Connexion">

    </form>
    </center>


    Vérification des données (login.php) :
    <?
    include("mysql.php");

    if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['password'])) {
      extract($_POST);
      // on recupère le password de la table qui correspond au login du visiteur
      $sql = "SELECT password FROM membres WHERE pseudo='".$pseudo."'";
      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

      $data = mysql_fetch_assoc($req);

      if($data['password'] != $password) {
        include('connexion_identifiants.php'); // On inclus le formulaire d'identification
        exit;
      }
      else {
        session_start();
        $_SESSION['pseudo'] = $pseudo;
       
        echo 'Bienvenue $pseudo';

      }   
    }
    else {
       include('connexion_champs.php'); // On inclut le formulaire d'identification
       exit;
    }


    ?>


    Voilà, jespère que vous pourrez m'aider parce que la je trouve pas.

    Merci d'avance ;)
    • Partager sur Facebook
    • Partager sur Twitter
      23 décembre 2005 à 22:10:29

      Si tu compares un password crypté en MD5 avec un password non crypté, c'est normal que ça foire.
      Rajoute un $password = md5($password);
      • Partager sur Facebook
      • Partager sur Twitter
        23 décembre 2005 à 22:22:08

        Je le met ou ? Je l'ai mis juste après l'include de mysql.php dans login.php mais ca ne fonctionne toujours pas.
        • Partager sur Facebook
        • Partager sur Twitter
          23 décembre 2005 à 22:24:05

          Met le après le extract($_POST);
          • Partager sur Facebook
          • Partager sur Twitter
            23 décembre 2005 à 22:25:52

            Haaa ca fonctionne, je te remercie Pakie :)
            • Partager sur Facebook
            • Partager sur Twitter

            Problème de connexion

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown