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 :

j'ai un bug de connexion


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Par défaut j'ai un bug de connexion
    Bonjour à tous,

    id : auto-incrémentation et primaire
    base de donné : -inscription-
    table : utilisateur


    J'ai un bug sur ma page connexion:

    page2.phpconnexion)

    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 de connexion  
        if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { 
           if ((isset($_POST['pseudo']) && !empty($_POST['pseudo'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { 
     
              $base = mysql_connect ('localhost', 'root', ''); 
              mysql_select_db ('-inscription-', $base); 
     
              // on teste si une entrée de la base contient ce couple login / pass 
             $sql = 'SELECT count(*) FROM utilisateur WHERE pseudo="'.mysql_escape_string($_POST['pseudo']).'" AND pass="'.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(); 
     
             // si on obtient une réponse, alors l'utilisateur est un membre 
             if ($data[0] == 1) { 
                session_start(); 
                $_SESSION['pseudo'] = $_POST['pseudo']; 
                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="page2.php" method="post">
       pseudo : <input type="text" name="pseudo" value="<?php if (isset($_POST['pseudo'])) echo htmlentities(trim($_POST['pseudo'])); ?>"><br />
       Mot de passe : <input type="text" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
       <input type="submit" name="connexion" value="Connexion">
       </form>
       <a href="index.php">Vous inscrire</a>
       <?php
       if (isset($erreur)) echo '<br /><br />',$erreur;  
       ?>
       </body>
       </html>
    index.phpinscription)

    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
    57
    58
    <!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" lang="fr">
        <head>
            <title>Mini-chat</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <style type="text/css">
        form
        {
        text-align:center;
        }
        </style>
        <body>
     
     
    <?php
    if (isset($_POST['pseudo']) AND isset($_POST['mot_de_passe'])) // Si les variables existent
    {
        if ($_POST['pseudo'] != NULL AND $_POST['mot_de_passe'] != NULL) // Si on a quelque chose à enregistrer
        {
            // D'abord, on se connecte à MySQL
            mysql_connect("localhost", "root", "");
            mysql_select_db("-inscription-");
     
            // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
            $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
            $mot_de_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_de_passe']));
     
            // Ensuite on enregistre le message
            mysql_query("INSERT INTO utilisateur VALUES('', '$pseudo', '$mot_de_passe')");
     
            // On se déconnecte de MySQL
            mysql_close();
        }
    }
     
     
    // Que l'on ait enregistré des données ou pas...
    // On affiche le formulaire puis les 10 derniers messages
     
    // Tout d'abord le formulaire :
    ?>
     
     
    <h2><center>inscription</center></h2> 
    <form action="index.php" method="post">
     
    <p>
    Pseudo : <input type="text" name="pseudo" /><br />
    mot de passe :  <input type="text" name="mot_de_passe" /><br />
    <center><a href="page2.php">connexion</a> 
    <input type="submit" value="Envoyer" />
    </p>
     
    </form>
     
        </body>
    </html>
    merci d'avance

  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
    Et quelle est l'erreur ?

    Au passage "-inscription-" comme nom de base, on doit pouvoir faire pire mais c'est pas sur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Et quelle est l'erreur ?

    Au passage "-inscription-" comme nom de base, on doit pouvoir faire pire mais c'est pas sur.


    l'erreur c'est que sa affiche le message d'erreur
    Compte non reconnu.
    alors que j'ai vérifié que le pseudo et le mot de passe est bien enregistré dans la base de donnée.

  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
    Tu fais le test sur le MD5 du mot de passe alors que tu enregistres le mot de passe clair.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Par défaut
    Je viens de mettre password comme type de mot de passe, que sa soit dans la page d'inscription (index.php) et de connexion (page2.php).
    C'est toujours le même problème.

Discussions similaires

  1. Bug sur connexion Toad 8.6.1
    Par rocaldo dans le forum Toad
    Réponses: 2
    Dernier message: 27/10/2011, 09h27
  2. [SP-2007] [WSS] Bug de connexion de Webpart inter-pages sur SP2
    Par nonoxp dans le forum SharePoint
    Réponses: 3
    Dernier message: 04/08/2009, 18h23
  3. bug de connexion a une base sql server 2000
    Par discogarden dans le forum Visual Studio
    Réponses: 0
    Dernier message: 03/10/2008, 10h55
  4. bug à la connexion internet sous Windows xp (erreur 0x001405f3)
    Par adrienj dans le forum Dépannage et Assistance
    Réponses: 3
    Dernier message: 11/05/2006, 01h24
  5. [CR.NET] Sous-etat bug fenetre de connexion affichee+erreur
    Par Designotik dans le forum Connectivité
    Réponses: 1
    Dernier message: 18/02/2005, 15h36

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