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 :

page de login et mysql


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut page de login et mysql
    bonjour a tous

    etant toujours debutant et voulant toujours developper mon site ...me voila une fois de plus a vous demander conseil :

    mon probleme est le suivant :

    j'ai une page login ou l'utilisateur rentre son pseudo et son pass ...qui son deja rentrer dans une base de donné ...

    mon but est de faire une requête pour vérifier si le pseudo et le passe existe ...

    j'ai choper sur un site un code mais les valeurs était déjà attribuer au début du code donc je veux modifier sa pour qu'il vérifie dans la base de donnée ...

    mais j'ai une erreur :Parse error: parse error in C:\wamp\www\test2.php on line 10

    alors que la ligne 9 est identique et je sais que c'est une erreur de syntaxe ..j'ai utiliser les ' et les " comme on m'avait indiquer dans un précédent post sur les formulaire et la base de donnée

    voici le debut du code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php	
    mysql_connect("localhost", "root", "");
    	mysql_select_db("74minutes");
     
     
    // Definition des constantes et variables
     
    $login2 = mysql_query("SELECT pseudo FROM compte WHERE pseudo='" . $_POST['login']. "');
    $password2 = mysql_query("SELECT passe FROM compte WHERE passe='" . $_POST['password']. "');
     
    define('LOGIN','login2');
    define('PASSWORD','PASSWORD2');
    $errorMessage = '';

    voici le code d'origine (trouvé sur un autre site) :

    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
    59
    60
    61
    62
    63
    64
    65
    66
    <?php
    // Definition des constantes et variables
    define('LOGIN','toto');
    define('PASSWORD','tata');
    $errorMessage = '';
    // Test de l'envoi du formulaire
    if(!empty($_POST))
    {
    // Les identifiants sont transmis ?
    if(!empty($_POST['login']) && !empty($_POST['password']))
    {
    // Sont-ils les mêmes que les constantes ?
    if($_POST['login'] !== LOGIN)
    {
    $errorMessage = 'Mauvais login !';
    }
    elseif($_POST['password'] !== PASSWORD)
    {
    $errorMessage = 'Mauvais password !';
    }
    else
    {
    // On ouvre la session
    session_start();
    // On enregistre le login en session
    $_SESSION['login'] = LOGIN;
    // On redirige vers le fichier admin.php
    header('Location: http://www.monsite.com/admin.php');
    exit();
    }
    }
    else
    {
    $errorMessage = 'Veuillez inscrire vos identifiants svp !';
    }
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
    <title>Formulaire d'authentification</title>
    </head>
    <body>
    <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
    <fieldset>
    <legend>Identifiez-vous</legend>
    <?php
    // Rencontre-t-on une erreur ?
    if(!empty($errorMessage))
    {
    echo '<p>', htmlspecialchars($errorMessage) ,'</p>';
    }
    ?>
           <p>
    <label for="login">Login :</label>
    <input type="text" name="login" id="login" value="" />
    </p>
    <p>
    <label for="password">Password :</label>
    <input type="password" name="password" id="password" value="" />
    <input type="submit" name="submit" value="Se logguer" />
    </p>
    </fieldset>
    </form>
    </body>
    </html>

    mes questions :

    - es ce la bonne méthode ? j'ai bien reflechi et je suis sure de ne pas être bien loin de la vérité ....

    - il y a t'il une syntaxe particulier ? car je m'y perd avec c'est " ou ' ou ....

    plus de detail : base de donnée 74minutes, table compt qui contient les champ pseudo et passe ...


    merci encore a votre site avec le quel j'ai bien progressé

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 29
    Par défaut
    Essaies avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php	
    mysql_connect("localhost", "root", "");
    	mysql_select_db("74minutes");
     
     
    // Definition des constantes et variables
     
    $login2 = mysql_query('SELECT pseudo FROM compte WHERE pseudo="'.htmlentities($_POST['login']).'"');
    $password2 = mysql_query('SELECT passe FROM compte WHERE passe="'.htmlentities($_POST['password']).'"');
     
    define('LOGIN','login2');
    define('PASSWORD','PASSWORD2');
    $errorMessage = '';
    Dans tes requêtes a la fin tu dois terminer non pas par mais par si tu commences avec des guillemets, et idem en inversant guillemets et apostrophe si tu as commencé la requête avec une apostrophe. (Cependant j'ai un doute : en general on utilise les simples quotes pour les requetes, je me demande si ça fonctionne de la meme façon avec les doubles)
    Et on oublis pas un petit htmlentities() pour avoir un minimum de sécurité et éviter quelques vulnérabilités de type injections sql.

  3. #3
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut
    toujours pareil

    j'ai mis exactement pareil que toi et sa me met la même erreur



    Parse error: parse error in C:\wamp\www\test2.php on line 9

    mais a la ligne 9 cette fois

    j'ai testez ' " '); comme toi et " ' "); mais pareil

  4. #4
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut
    pouvez me dire si c'est la bonne méthode pour récupéré les passes dans la base de donnée ????

    que je sache si il faut que je persiste dans cette voie !!!

    merci d'avance

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 102
    Par défaut
    ben moi je ne comprends pas pourquoi tu vas chercher l'email dans ta table ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $login2 = mysql_query("SELECT pseudo FROM compte WHERE pseudo='" . $_POST['login']. "');
    $password2 = mysql_query("SELECT passe FROM compte WHERE passe='" . $_POST['password']. "');
    tu n'as juste qu'à chercher le mot de passe si l'email = l'email entré par l'utilisateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $password2 = mysql_query("SELECT * FROM compte WHERE email='" . $_POST['email']. "');
    après tu verifies que le mdp est égale au mdp donné par l'utilisateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if( $resultat["passe"]== $_POST["mdp") 
    {
    echo "bon ";
    }
    else
    {
    echo "pas bon";
    }

  6. #6
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut
    tu est allez trop vite

    je fait comme dans le tuto mais j'ai modifier les données du début pour accéder a ma base c'est pour sa que j'utilise pas le mail comme pseudo ....mais c'est une bonne idée ....

    j'ai testez plusieurs truc toujours sans résultat

    personne pour m'aider !!

Discussions similaires

  1. Page de login -- script PHP qui ne marche pas
    Par Alexlesilex dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 24/04/2006, 16h32
  2. page en ASP connexion MYSQL mais sans odbc...
    Par lunatichs dans le forum Installation
    Réponses: 1
    Dernier message: 31/03/2006, 22h49
  3. Test de Dsiponibilité : Page de login
    Par Nexussmb dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/02/2006, 17h20
  4. Problème de login avec mysql
    Par Michaël dans le forum Installation
    Réponses: 4
    Dernier message: 01/11/2005, 18h53
  5. [servlet][jsp] Creer une page de login
    Par Beuj dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 19/03/2004, 17h55

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