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 :

Verification formulaire pour connexion


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 151
    Points : 73
    Points
    73
    Par défaut Verification formulaire pour connexion
    Bonjour a tous,

    j'ai un petit probleme dans mon code
    je viens de creer un espace membre a l'aide d'un tutorial
    Or je n'arrive pas a me connecter sur la page connexion

    Lorsque je tape les identifiant il me renvoi a la page index.php alors que si les identifiant ne sont pas bons il est censé afficher l'erreur et si ils sont bon il est censé m'envoyer vers membre.php

    j'ai l'impression qu'il ne rentre pas dans le if ... ?? voir meme dans le code php
    une idée svp ?

    voila le code de 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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <?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="'.md5(mysql_escape_string($_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(); 
     
          // alors l'utilisateur est un membre 
          if ($data[0] == 1) { 
             session_start(); 
             $_SESSION['login'] = $_POST['login']; 
             header('Location: membre.php'); 
             exit(); 
          } 
          // le visiteur s'est trompé soit dans son login, soit dans son mot de passe 
          elseif ($data[0] == 0) { 
             $erreur = 'Compte non reconnu.'; 
          } 
          // Probleme BDD
          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>

  2. #2
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Bonsoir,
    J'ai testé ton code et il fonctionne bien ... vérifie au cas où le mot de passe en md5

    EDIT : Tu peux vérifier en faisaint ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo md5("ton_mot_de_passe");
    ?>
    Et ensuite tu compares la valeur retournée et celle contenue dans ta base.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 151
    Points : 73
    Points
    73
    Par défaut
    Comment ça il marche bien

    moi quand je lance chez moi il me renvoie sur index.php
    alors qu'il est cense me relancer vers membre.php

    l'erreur viendrait d'ailleurs ??

    j'ai tester avec chrome,firefox,ie ça me fait pareil

    une idée ?? ou c'est moi pour tant je suis certain de mon mot de passe au pire j'ai cree un nouvel utilisateur puis tout de suite apres je test et ça me fait pareil

    ...

    et je viens de verifier en comparant les md5 ...

  4. #4
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Re,
    Je confirme çà marche bien ... j'ai créé une base vite fait et j'ai testé je suis bien redirigé vers membre.php avec le bon login et mdp, sinon j'ai bien le message "Compte non reconnu"

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 151
    Points : 73
    Points
    73
    Par défaut
    ha

    comment c'est possible ... ? je comprend pas la ...

    une idée d'ou ça vient ?

  6. #6
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Essaye de faire un echo de tes deux variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?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']))) { 
          echo $_POST['login'];
    	  echo $_POST['pass'];
    .....................

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 151
    Points : 73
    Points
    73
    Par défaut
    erreur ligne 17 quand je libere de la memoire

    mysql_free_result($req);

    Pourquoi erreur et pourquoi la gné ?

    au moins je suis sur qu'il execute mon code php

  8. #8
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Les 2 echos te retournent quoi ?

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 151
    Points : 73
    Points
    73
    Par défaut
    aucune idée erreur 17

  10. #10
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    C'est quoi ton code maintenant ? Qu'as tu modifié exactement ?

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 151
    Points : 73
    Points
    73
    Par défaut
    ça amrche il m'affiche bien mes identifiants mais seulement si je demande de les afficher dans index.php

    Je ne lui dit pourtant nulle part qu'il doit me rediriger vers index et pourtant il le fait que les identifiants soit bon ou faux ou que je tape rien

    une idée ??

  12. #12
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Bon et bien je suis désolé mais chez moi çà fonctionne bien, pas de message d'erreur, j'ai pris ton code et je l'ai copié, j'ai juste modifié les paramètres de connexion à la base de données ...
    Peut être un problème de se côté là ...

    EDIT : Modifies la connexion à ta base comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $base = mysql_connect ('xxxxxx', 'xxxxxx', 'xxxxxx') or die("Impossible de se connecter : " . mysql_error());;

  13. #13
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 151
    Points : 73
    Points
    73
    Par défaut
    ok

    Merci bien de ton aide

    tu peux regarder la au cas ou stp

    inscription.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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    <?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']).'", "'.md5(mysql_escape_string($_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>
    membre.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
    <?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'])); ?> dans votre espace membre !<br />
     
    <a href="deconnexion.php">Déconnexion</a>
    </body>
    </html>

  14. #14
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    J'ai testé pas de soucis, le nouvel utilisateur se créé bien, message d'erreur si je mets un login et mdp déjà présent.

  15. #15
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 151
    Points : 73
    Points
    73
    Par défaut
    chez moi aussi la creation marche bien

    c'est la partie login qui ne marche

    la partie creation m'enmene bien sur membre.php mais la partie login non

  16. #16
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 151
    Points : 73
    Points
    73
    Par défaut
    rebonjour,

    j'ai réussi en changeant mon code

    maitenant c'est dans la page membre que ça coince

    quand je donnes les bons identifiant il me donne un page blanche

    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
    <?php
    session_satrt();
    if(isset($_SESSION['logged']) && $_SESSION['logged'] == 1) 
    {
    include("mysql_connect.php");
     
    $sql = mysql_query("SELECT * FROM membres WHERE pseudo = '".$_SESSION['pseudo']."' AND id = '".$_SESSION['id']."'");
    $ech = mysql_fetch_array($sql);
     
    echo 'Voici votre pseudo : '.$ech['pseudo'];
    echo '<br/>';
    echo 'Voici votre mot de passe : '.$ech['mot_passe'];
    echo '<br/>';
    echo 'Voici votre adresse email : '.$ech['email'].'<br/>';
    echo '<a href="deconnect.php">Se déconnecter</a>';
    }
     
    else
    {
    echo "Vous n'etes pas membre du site <br />";
    echo "Veuillez <a href=\"inscription.php\">vous inscrire</a> ou retourner a la <a href=\"index.php\">page d'accueil</a>";
    }
     
    ?>
    ça y est tout marche niquel

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

Discussions similaires

  1. Aide pour créer un formulaire de connexion multi utilisateurs
    Par nurdinosda dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 12/10/2011, 18h58
  2. Réponses: 4
    Dernier message: 03/01/2011, 12h34
  3. Formulaire de connexion pour acceder a certain formulaire
    Par chouchouilloux dans le forum IHM
    Réponses: 1
    Dernier message: 15/01/2010, 20h57

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