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 :

Probleme dans l'authentification


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 233
    Par défaut Probleme dans l'authentification
    Bonjour,

    Je veux creer un formulaire d'authentificaton avec un login et mot de passe,voila donc mon code:

    identification.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
    57
    58
     
    <?php
    session_start();
    ?>
    <?php include("./fonctions.php"); ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    </head>
     <?php
    if(isset($_POST['envoyer']))
    {
    if($_POST && !empty($_POST['login']) && !empty($_POST['pass1']))
    {
     
     
    $con=mysql_query("select login,pass1 from client");
    $rqt3=mysql_fetch_array($con);
    $login = mysql_real_escape_string(htmlspecialchars($_POST['login']));
    $pass = mysql_real_escape_string(htmlspecialchars($_POST['pass1']));
    $logi =$rqt3['login'];
    $pas=$rqt3['pass1'] ;
    $sql1='select id_client from client where login="'.$_POST['login'].'"';
     
     
    $req1=mysql_query ($sql1) or die ('Erreur SQL !'.$sql1.'<br />'.mysql_error());
    $id_client = mysql_result($req1,0);
     
        if(($logi == $login) && ( $pass == $pas))
        {
     
            $_SESSION['login'] = $login;
    		$_SESSION['id_client'] = $id_client;
     
    	//echo "<p>connexion valide</p>";
    	echo "<script >document.location.replace(\"accueil.php\" );
            </script> ";
    	$testt=1;
    	}
    		else
    			$testt=2;
    			echo "<script >alert(\"Login et/ou mot de pass incorrecte\")</script> ";
    	//echo '<p style="color:red">Mauvais login ou mot de passe</p>';
    	include("index.php");
            exit();
    }
    else
    echo "<script >alert(\"Veuillez remplir leschamps!!\")</script> ";
    //echo '<p style="color:red">Veuillez remplir les champs!!</p>';
     include("index.php");
            exit();
    }
    ?>
    <body>
    </body>
    </html>
    et voila index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <form id="form1" name="form1" method="POST" action="identification.php">
                  <label>
                  Login:
                  <input name="login" type="text" id="login" size="15"/>
    </label><br />
                  <label>Mot de passe:</label>
    			      <input name="pass1" type="password" id="pass" size="15" />
    			      <br />
    			      <br />
     
     <input name="envoyer" type="submit" value="se connecter" /></form>
    Mais quand je remplie les vrais informations qui sont contenues dans la base de donnee (login+mot de passe),alors toujours il m'affiche une fenetre javascript qui me dit: Login et/ou mot de pass incorrecte


    Alors ou est le probleme?

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Bonjour,
    A mon avis il y a une erreur de concéption dans ton code. Je ne vois pas du tout dans ton code l'intéret de la variable $rqt3 ni de ce que tu en fais.

    Je verrais plutot un truc comme ca pour ton programme:

    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
     
    $login = mysql_real_escape_string(htmlspecialchars($_POST['login']));
    $pass = mysql_real_escape_string(htmlspecialchars($_POST['pass1']));
     
    $sql1='select * from client where login="'.$_POST['login'].'"';
    $exe=mysql_query($sql1);
    if($exe)
    {
     
       if(mysql_num_rows($exe)!=1)
       {
         echo "erreur login";
       }else
       {
         $user=mysql_fetch_assoc($exe);      
         if($user["pass1"]==$pass)
          {
              //connexion OK
          }else
         {
            //mauvais mot de passe
         }
       }
    }
    Cordialement

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 233
    Par défaut
    Salut,

    Mais encore toujours le meme probleme il n'entre pas dans la page d'accueil il se redirige toujours vers index.php

    et voila le code apres l'ajout du code de raideman:

    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
     
    if(isset($_POST['envoyer']))
    {
    if($_POST && !empty($_POST['login']) && !empty($_POST['pass1']))
    {
     
     
    $login = mysql_real_escape_string(htmlspecialchars($_POST['login']));
    $pass = mysql_real_escape_string(htmlspecialchars($_POST['pass1']));
     
    $sql1='select * from client where login="'.$_POST['login'].'"';
    $exe=mysql_query($sql1);
    if($exe)
    {
     
       if(mysql_num_rows($exe)!=1)
       {
         echo "<script >alert(\"Login et/ou mot de pass incorrecte\")</script> ";
       }else
       {
         $user=mysql_fetch_assoc($exe);      
         if($user["pass1"]==$pass)
          {
              //connexion OK
    		   $_SESSION['login'] = $login;
    		$_SESSION['id_client'] = $id_client;
     
    	//echo "<p>connexion valide</p>";
    	echo "<script >document.location.replace(\"accueil.php\" );
            </script> ";
    	$testt=1;
          }else
         {
            //mauvais mot de passe
    		$testt=2;
    			echo "<script >alert(\"Login et/ou mot de pass incorrecte\")</script> ";
    	//echo '<p style="color:red">Mauvais login ou mot de passe</p>';
    	include("index.php");
            exit();
     
         }
       }
    }
    }
    } 
     
     
    ?>

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Par défaut
    Fait voir ou tu en es

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 233
    Par défaut
    voila donc 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
    46
    47
    48
    49
    50
     
    <?php
    if(isset($_POST['envoyer']))
    {
    if($_POST && !empty($_POST['login']) && !empty($_POST['pass1']))
    {
     
     
    $login = $_POST['login'];
    $pass = $_POST['pass1'];
     
    $sql1='select * from client where login="'.$_POST['login'].'"';
    $exe=mysql_query($sql1);
    if($exe)
    {
     
       if(mysql_num_rows($exe)!=1)
       {
         echo "erreur login";
     
       }else
       {
         $user=mysql_fetch_assoc($exe);      
         if($user["pass1"]==$pass)
          {
              //connexion OK
    		   $_SESSION['login'] = $_POST['login'];
    		$_SESSION['id_client'] = $id_client;
     
    	//echo "<p>connexion valide</p>";
    	echo "<script >document.location.replace(\"accueil.php\" );
            </script> ";
     
          }else
         {
            //mauvais mot de passe
     
    			echo "<script >alert(\"Login et/ou mot de pass incorrecte\")</script> ";
    	//echo '<p style="color:red">Mauvais login ou mot de passe</p>';
    	include("index.php");
            exit();
     
         }
       }
    }
    }
    } 
     
     
    ?>
    Je ne sais pas ou est le probleme!

    Et merci pour vos reponses

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 70
    Par défaut
    Bonsoir,

    ceci devrait fonctionner

    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
    <?php
    include("./fonctions.php");
     
    if (isset($_POST['envoyer']) && $_POST['envoyer'] == 'se connecter') {
        if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass1']) && !empty($_POST['pass1']))) {
     
        $sql1 = 'SELECT count(*) FROM client WHERE login="'.mysql_real_escape_string($_POST['login']).'" AND pass="'.mysql_real_escape_string($_POST['pass1']).'"';
        $exe = mysql_query($sql1) or die('Erreur SQL !<br />'.$sql1.'<br />'.mysql_error());
        $data = mysql_fetch_array($exe);
     
            if ($data[0] == 1) {
                $_SESSION['login'] = $_POST['login'];
            }
            else if($data[0] == 0) {
                echo = 'Mauvais login ou mot de passe.';
            }
        }
        else if(empty($_POST['login'])) {
            echo 'Veuillez indiquer votre login svp !';
        }
        else if(empty($_POST['pass1'])) {
            echo = 'Veuillez indiquer votre mot de passe svp !';
        }
    }
     
    ?>

Discussions similaires

  1. Probleme dans request.QueryString("chaine")
    Par soufienne dans le forum ASP
    Réponses: 8
    Dernier message: 24/08/2004, 14h49
  2. Probleme dans une procedure stockée
    Par malbaladejo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/07/2004, 14h08
  3. petit probleme dans une requte POSTGRE SQL
    Par ghis le fou dans le forum Requêtes
    Réponses: 5
    Dernier message: 08/09/2003, 13h51
  4. Probleme dans une clause like !
    Par adil dans le forum Langage SQL
    Réponses: 6
    Dernier message: 15/07/2003, 16h47
  5. Probleme dans ma requete
    Par Kuroro dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/07/2003, 11h14

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