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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Mon script ne fonctionne tjrs pas !!


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Points : 32
    Points
    32
    Par défaut Mon script ne fonctionne tjrs pas !!
    désolés mes amis mais meme apré avoir ajouter des lignes pour soit disant connecter a la base et meme pour selesctionner une BD (ihm) mais ça marche tjrs pas !! je coir qu'il y a un pb avec la syntaxe non le fet que je suis encore débutant c normale
    voici le 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
    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
     
    <?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['pseudo'])) && (!empty($_POST['pass'])) ) {
      extract($_POST);  // je vous renvoie à la doc de cette fonction
      // On va chercher le mot de passe afférent à ce login
      $link = mysql_connect('127.0.0.1', 'root', '');
      if (!$link) {
       die('Connexion impossible : ' . mysql_error());
    }else
    echo 'Connecté correctement';
    mysql_select_db("ihm",$link) ;
    mysql_close($link);
      $sql = "SELECT pseudo, pass FROM membres WHERE pseudo = '".addslashes($pseudo)."'"; 
      $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql); //*****************ligne 21*****************
     
      // 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 ($pass == $data['pass']) {
          $loginOK = true;
        }
      }
    }
    // Si le login a été validé on met les données en sessions
    if ($loginOK) {
      $_SESSION['pseudo'] = $data['pseudo'];
      $_SESSION['pass'] = $data['pass'];
      $_SESSION['nom'] = $data['nom'];
      $_SESSION['prenom'] = $data['prenom'];
      $_SESSION['question'] = $data['question'];
      $_SESSION['repense'] = $data['repense'];
      $_SESSION['année'] = $data['année'];
      $_SESSION['description'] = $data['description'];
    }
    else {
      echo 'Une erreur est survenue, veuillez réessayer !'; 
    }
    ?>
    et ça me donne les warnings suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Connecté correctement
    Warning: mysql_query(): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in c:\program files\easyphp1-8\www\ihm\veriflogin.php on line 22
    
    Warning: mysql_query(): A link to the server could not be established in c:\program files\easyphp1-8\www\ihm\veriflogin.php on line 22
    Erreur SQL : 
    SELECT pseudo, pass FROM membres WHERE pseudo = 'aa'

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    c'est parce que le mysql_connect est dans le if et ton mysql_query dans le else

    par contre, inutile de faire un nouveau post à chaque fois ! fait juste ajouter une réponse !!!

  3. #3
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Points : 32
    Points
    32
    Par défaut g pas compris regarde est ce que c comme ça ?
    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
     
    <?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
    $link = mysql_connect('127.0.0.1', 'root', '');
      if (!$link) {
       die('Connexion impossible : ' . mysql_error());
    }else
    echo 'Connecté correctement';
    mysql_select_db("ihm",$link) ;
    if ( isset($_POST) && (!empty($_POST['pseudo'])) && (!empty($_POST['pass'])) ) {
      extract($_POST);  // je vous renvoie à la doc de cette fonction
      // On va chercher le mot de passe afférent à ce login
     
    mysql_close($link);
      $sql = "SELECT pseudo, pass FROM membres WHERE pseudo = '".addslashes($pseudo)."'"; 
      $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql); //*****************ligne 21*****************
     
      // 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 ($pass == $data['pass']) {
          $loginOK = true;
        }
      }
    }
    // Si le login a été validé on met les données en sessions
    if ($loginOK) {
      $_SESSION['pseudo'] = $data['pseudo'];
      $_SESSION['pass'] = $data['pass'];
      $_SESSION['nom'] = $data['nom'];
      $_SESSION['prenom'] = $data['prenom'];
      $_SESSION['question'] = $data['question'];
      $_SESSION['repense'] = $data['repense'];
      $_SESSION['année'] = $data['année'];
      $_SESSION['description'] = $data['description'];
    }
    else {
      echo 'Une erreur est survenue, veuillez réessayer !'; 
    }
    ?>

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    le problème ici est que tu fermes la connexion (mysql_close) avant le mysql_query : donc retour à la case départ, il faut que le mysql_close soit après le if (et le else) en tous cas, après le query et le num_rows (c'est à dire une fois que tu n'utilises plus du tout la connection à la BDD)

Discussions similaires

  1. Mon script ne fonctionne pas sous android
    Par sp2308 dans le forum jQuery
    Réponses: 4
    Dernier message: 19/08/2014, 23h20
  2. Réponses: 2
    Dernier message: 25/02/2010, 13h49
  3. mon script ne fonctionne pas sur internet explorer
    Par Lulu_n10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/09/2008, 09h41
  4. Ajax et XML. Mon script ne fonctionne pas.
    Par Dougui_bzh dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/07/2008, 09h04
  5. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 11h19

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