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

PHP & Base de données Discussion :

Espace membre - connexion


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2010
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2010
    Messages : 414
    Par défaut Espace membre - connexion
    Bonjour
    J'essaie de créer un espace membre sur mon site et je bloque à la partie connexion. A chaque fois la connexion me renvoit pseudo ou mot de passe incorrectes, quelqu'un peut-il m'aider ?
    Voici mon PHP (connexion.php) :
    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
    <?php
    if(!empty($_POST) && !empty($_POST['pseudo']) && !empty($_POST['password'])){
     
    require_once 'config.php';
    // Hachage du mot de passe
    $pass_hache = password_hash($_POST['password'], PASSWORD_DEFAULT);
     
    // Vérification des identifiants
    $req = $base->prepare('SELECT id_membre FROM membres WHERE pseudo = :pseudo AND password = :password');
    $req->execute(array(
        'pseudo' => $pseudo,
        'password' => $pass_hache));
     
    $resultat = $req->fetch();
     
    if (!$resultat)
    {
        echo 'Mauvais identifiant ou mot de passe !';
    }
    else
    {
        session_start();
        $_SESSION['id_membre'] = $resultat['id_membre'];
        $_SESSION['pseudo'] = $pseudo;
        echo 'Vous êtes connecté !';
        header('Location: accueil.php');
    }
     
    }
    Mon HTML :
    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
    <form method="post" action="connexion.php">
        <fieldset>
           <legend>Vos coordonnées</legend> <!-- Titre du fieldset -->
     
           <label for="pseudo">Pseudo *:</label>
           <input type="text" name="pseudo" id="pseudo" required /><br><br>
     
           <label for="Prenom">Mot de passe *:</label>
           <input type="password" name="password" id="password" required /><br><br>
     
           <label for="automatique">Connexion automatique </label>
           <input type="checkbox" name="automatique" id="automatique" /><br><br>
     
        </fieldset>
     
          <input type="submit" name="connexion" value="Se connecter" class="btn bnt-defaut" />
         </form>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ou est défini $pseudo ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2010
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2010
    Messages : 414
    Par défaut
    Ok j'ai rajouté ces 2 ligne de codes (dans le fichier php) mais j'ai toujours la même erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $pseudo = isset($_POST['pseudo']) ? $_POST['pseudo'] : NULL;
    $password = isset($_POST['password']) ? $_POST['password'] : NULL;

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Question inverse, ou est utilisé $password ?
    Et à quoi sert le test isset() puisque tu as déjà vérifié les variables ligne 2 ?

    As-tu contrôlé visuellement que $pass_hache correspond bien à ce que tu as dans ta table ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2010
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2010
    Messages : 414
    Par défaut
    J'ai un peu modifié le code et j'arrive à m'inscrire et le mot de passe est bien crypté dans la base de données. Mais au moment de la connexion, j'ai la même erreur (cad mot de passe ou pseudo incorrets)
    Voici le contenu de mes variables :
    string(3) "fff" string(3) "fff" bool(false) Mauvais identifiant ou mot de passe !
    Voici mon code PHP :
    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
    <?php
    $pseudo = isset($_POST['pseudo']) ? $_POST['pseudo'] : NULL;
    $password = isset($_POST['password']) ? $_POST['password'] : NULL;
     
    if(!empty($_POST) && !empty($_POST['pseudo']) && !empty($_POST['password'])){
     
    require_once 'config.php';
    // Hachage du mot de passe
    $pass_hache = password_hash($_POST['password'], PASSWORD_DEFAULT);
     
    // Vérification des identifiants
    $req = $base->prepare('SELECT id_membre FROM membres WHERE pseudo = :pseudo AND password = :password');
    $req->execute(array(
        'pseudo' => $pseudo,
        'password' => $pass_hache));
    var_dump($pseudo);
    var_dump($password);
    $resultat = $req->fetch();
    var_dump($resultat);
    if (!$resultat)
    {
        echo 'Mauvais identifiant ou mot de passe !';
    }
    else
    {
        session_start();
        $_SESSION['id_membre'] = $resultat['id_membre'];
        $_SESSION['pseudo'] = $pseudo;
        echo 'Vous êtes connecté !';
        header('Location: accueil.php');
    }
     
    }

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je te repose les 3 mêmes questions qu'avant :
    - à quoi sert $password ?
    - pourquoi faire deux fois le test d'existence des variables $_POST ?
    - est-ce que $pass_hache est bien égale à ce que tu as dans la base de données ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] espace membre connexion impossible
    Par alastar dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/06/2016, 23h25
  2. Connexion à l'espace membre
    Par ploufleouf74 dans le forum Langage
    Réponses: 5
    Dernier message: 20/07/2009, 17h02
  3. [MySQL] Problème Connexion Espace Membres
    Par Luisito31 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/02/2009, 15h21
  4. [MySQL] connexion à un espace membre
    Par Arthezius dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 15/07/2008, 10h49
  5. [MySQL] Script de connexion (espace membre)
    Par razorlok dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 03/06/2008, 12h41

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