Page de login

Eléphant du PHP | 67 Messages

24 mars 2011, 17:28

Bonjour,

J4ai une page de login en pdo qui va me chercher les identifiants sur ma base sql hors quand je rentre les bons identifiants il me renvoit sur la même page avec le nom d'utilisateur que j'ai rentré ( normal je lui ai indiqué de le faire ).
Mais normalement il devrait m'indiquer login ok dans ma page.

Voici le code :
<?php
session_start();
  $login = $_POST["login"] ;
  $pwd = $_POST["pass"] ;
?>
<form action="login.php" method="post">
<center><img src="images/webmail.png"> 
<TABLE BORDER="1"><tr><th><center>Login : </center><input type="text" name="login" value="<?php echo($login);?>" /></th></tr><br />
    <tr><th><center>Mot De Passe : </center><input type="password" name="pass" value="" /></th></tr><br />
    <tr><th><input type="submit" value="envoyer"></tr></th>
</form><center></TABLE> </center>
<?php
function VerifLogin($pass,$login)
{
        include('config.php');
		$connexion = new PDO('mysql:host='.$PARAM_hote.';port='.$PARAM_port.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
		$sql=$connexion->query("SELECT login,pwd FROM membres"); // on va chercher tous les membres de la table qu'on trie par ordre croissant
		$sql->setFetchMode(PDO::FETCH_OBJ); // on dit qu'on veut que le résultat soit récupérable sous forme d'objet
		while( $data = $sql->fetch() ) 
		
        {
           if($data->pwd==$pass) 
           {
             if($data->login==$login) 
              {
               $sql->closeCursor();
		       echo("login OK");
		       return true;
		      }
			  else
			  {
			   echo("Le nom d'utilisateur n'est pas correct");
			  }
		   }
		    else
		   {
		    echo("Le mot de passe n'est pas correct");
		   }
				
		}
		$sql->closeCursor();
		return false;
}

	?>
Merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

24 mars 2011, 18:14

Tu l'utilise pas la fonction que tu a creer ....

@+
Il en faut peu pour être heureux ......

ViPHP
AB
ViPHP | 5818 Messages

24 mars 2011, 18:44

Il est mal organisé ton code. Un tuto ici

Bon c'est fait avec mysql, mais reprend l'organisation du code et converti si besoin les requêtes pour pdo, ainsi tu auras une bonne base de travail :wink:

Eléphant du PHP | 67 Messages

24 mars 2011, 21:01

J'ai utilisé la fonction mais toujours pareil.
<?php
    $NomUtil="";
	$MP="";
    if(isset($_POST['tbx_Login'])==true)
    {
		$NomUtil=$_POST['tbx_Login'];
		$MP=$_POST['tbx_pass'];
	
		if(VerifLogin($NomUtil,$MP)==true)
		{
			$_SESSION['LoginOK']=1;
			//Login OK redirection sur une nouvelle page
			header("location:EnvoiMail.php");
			
		}
		else
		{
			$_SESSION['LoginOK']=0;
			echo('login incorrect');
		}
		
		

    }
?>

<form action="login.php" method="post">
<center><img src="images/webmail.png"> 
<TABLE BORDER="1"><tr><th><center>Login : </center><input type="text" name="tbx_login" value="<?php echo($tbx_login);?>" /></th></tr><br />
    <tr><th><center>Mot De Passe : </center><input type="password" name="tbx_pass" value="" /></th></tr><br />
    <tr><th><input type="submit" value="envoyer"></tr></th>
</form><center></TABLE> </center>
<?php
function VerifLogin($pass,$login)
{
        include('config.php');
		$connexion = new PDO('mysql:host='.$PARAM_hote.';port='.$PARAM_port.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
		$sql=$connexion->query("SELECT login,pwd FROM membres"); // on va chercher tous les membres de la table qu'on trie par ordre croissant
		$sql->setFetchMode(PDO::FETCH_OBJ); // on dit qu'on veut que le résultat soit récupérable sous forme d'objet
		while( $data = $sql->fetch() ) 
		
        {
           if($data->pwd==$pass) 
           {
             if($data->login==$login) 
              {
               $sql->closeCursor();
		       echo("login OK");
		       return true;
		      }
			  else
			  {
			   echo("Le nom d'utilisateur n'est pas correct");
			  }
		   }
		    else
		   {
		    echo("Le mot de passe n'est pas correct");
		   }
				
		}
		$sql->closeCursor();
		return false;
}

	?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

24 mars 2011, 21:25

si tu met un header qui t'envoi sur une autre page tu ne verra pas le message que tu affiche !


@+
Il en faut peu pour être heureux ......