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 :

surrement une erreur ds mon script - comme d'hab.


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    Points : 46
    Points
    46
    Par défaut surrement une erreur ds mon script - comme d'hab.
    bonjour,

    j'ai fais un script -pour ke lorsq'on rentre un login et un passe il verifie la base sql - une fois kil a trouvé le login et comparé avec le passe il garde le login en session.

    voila mon script
    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
     
    <?php
    // On démarre la session
    session_start();
    $loginOK = false;  // cf Astuce
     
    // On n'effectue les traitement qu'à la condition que 
    // les informations aient été effectivement postées
    if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {
     
      extract($_POST);  // je vous renvoie à la doc de cette fonction
     
      // On va chercher le mot de passe afférent à ce login
     $db=mysql_connect("XXXX","XXXXX","XXXXXX") or die('Erreur de connexion '.mysql_error()); 
     mysql_select_db('XXXXX',$db)  or die('Erreur de selection '.mysql_error());  
     
      $sql = "SELECT passe FROM mabasesql WHERE login = '".addslashes($login)."'";
      $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
     
      // On vérifie que l'utilisateur existe bien
      if (mysql_num_rows($req) > 0) {
         $data = mysql_fetch_assoc($req);
     
        // On vérifie que son mot de passe est correct
        if ($password == $data['passe']) {
          $loginOK = true;
        }
      }
    }
     
    // Si le login a été validé on met les données en sessions
    if ($loginOK) {
      $_SESSION['monlogin'] = $data['login'];
    }
    else {
      echo 'Une erreur est survenue, veuillez réessayer !'; 
    }
    ?>
    mais lorsque j'execute le script il ne me trouve pas ds la base (mm avec le bon login et le bon passe).

    Mon script doit merdé

    merci pour votre aide.

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Points : 910
    Points
    910
    Par défaut
    Salut,

    Tu as oublié de récuperer le mot de passe lors de ta requete, donc ensuite ça ne peut pas fonctionner quand tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
         $data = mysql_fetch_assoc($req);
     
        // On vérifie que son mot de passe est correct
        if ($password == $data['passe']) {
          $loginOK = true;
        }

    Sinon je vois quelques erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      extract($_POST);  // je vous renvoie à la doc de cette fonction
    Je te renvoies à la doc de cette fonction : imagines ce qui va se passer quand quelqu'un soumettra un formulaire avec en données POST login=admin&password=toto&loginOK=1

    Ensuite il est plutot conseillé de crypter les mots de passe enregistrés dans les base de données, même si évidement ça fonctionne aussi sans
    Toute la documentation Ruby on Rails : gotapi.com/rubyrails
    Mes articles :
    > HAML : langage de template pour Ruby on Rails

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    Points : 46
    Points
    46
    Par défaut re
    comment je fais pour recuper le mot de passe lors de la rerquete ?

    merci


  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Points : 910
    Points
    910
    Par défaut
    Oh autant pour moi, j'avais mal lu la requete désolé
    Toute la documentation Ruby on Rails : gotapi.com/rubyrails
    Mes articles :
    > HAML : langage de template pour Ruby on Rails

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    Points : 46
    Points
    46
    Par défaut re
    g trouvé un debut d'explication

    lorsque ds mon script je remplace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($password == $data['passe'])
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($password == 'lebonpasse')
    et bien tout le script fonctionne
    mais lorsque je regarde le champs 'passe' ds la base j'ai bien aussi 'lebonpasse'

    il y a un truc que je n'arrive pas a pigé.



    merci pour votre aide

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 27
    Points : 24
    Points
    24
    Par défaut
    peut être que le pprobméme vient de ta requête. Tu as écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT passe FROM mabasesql WHERE [...]
    dans ce cas, ça signifie que 'mabasesql' est le nom de ta table et pas celui de ta base...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 89
    Points : 46
    Points
    46
    Par défaut re
    mabasesql est le nom de ma table

    c pour tromper l'ennemi

  8. #8
    Inscrit Avatar de sanosuke85
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 206
    Points : 179
    Points
    179
    Par défaut
    oyo

    pour moi je connais pas mysql_fetch_assoc(), j'utilise mysql_fetch_array()... Je sais pas si ça change quelque chose ^^

  9. #9
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    Citation Envoyé par sanosuke85
    oyo

    pour moi je connais pas mysql_fetch_assoc(), j'utilise mysql_fetch_array()... Je sais pas si ça change quelque chose ^^
    ces 2 fonctions sont presque pareilles. si tu travailles seulement avec le nom des champs, la fonction "mysql_fetch_assoc" te suffira
    http://php.net/mysql_fetch_assoc

  10. #10
    Inscrit Avatar de sanosuke85
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 206
    Points : 179
    Points
    179
    Par défaut
    Merci beaucoup

    * s'incline *

Discussions similaires

  1. Voyez vous une erreur dans mon script?
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/10/2009, 23h01
  2. Dessin avec Imager.. erreur dans mon script
    Par Chekov dans le forum Modules
    Réponses: 2
    Dernier message: 18/06/2006, 14h14
  3. Une erreur dans un script
    Par tsing dans le forum Linux
    Réponses: 9
    Dernier message: 16/03/2006, 15h50
  4. erreur dans mon script
    Par Swata dans le forum Langage
    Réponses: 4
    Dernier message: 21/09/2005, 00h02
  5. [langage]erreur dans mon script
    Par Fabouney dans le forum Langage
    Réponses: 11
    Dernier message: 30/06/2005, 14h58

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