Message sur php

ziko.1988 Messages postés 25 Statut Membre -  
 Bobleponge -
Bonjour,

j'ai une application en php et je voulais afficher un message d'erreur comme quoi il ya une erreur eu niveau soit le login soit le mot de passe voila le code:

<?php
session_start();
echo "<center>";
$x=mysql_connect('localhost','root','');
mysql_select_db('projet',$x);
$v1=$_POST['Login'];
$v2=$_POST['Password'];
$trouv=0;
$req="select * from authentification";
$res=mysql_query($req);
while($lig=mysql_fetch_array($res))
{
if($lig['Login']==$v1 && $lig['Password']==$v2)
{
$trouv=1;
}
}
if($trouv==0)
{

echo "<script>alert(\"erreur\")</script>";

header("location:index.html");

}
else
{ echo"vous etes connecté<br>";
header("location:indexx.php");

}
?>

3 réponses

  1. Breub62 Messages postés 3452 Statut Membre 369
     
    Ben ton script envoie déjà une alerte en cas de soucis non?

    Je ne vois pas trop ce que tu veux faire...
    0
  2. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    bon, deja, pour moins faire rammer le seruver:
    $req="select * from authentification";
    c'est pas bon
    fais plutot
    $req='select * from authentification WHERE Login = "$v1" and Password = "$v2"'; (un truc du genre)

    ce que tu veux, c'est qu'il dise "login incorrect" ou ce MDP ne correspond pas au login ?

    => il faut ajouter des tests suplémentaires en cas d'erreur:
    faire une requete pour savoir si le login existe:

    $req='select * from authentification WHERE Login = "$v1"'
    et si t'as un résultat, c'est le MDP qui est pas bon, sinon c'est le login.

    mais je pense pas que ce soit utile de préciser à la personne là ou elle fait l'erreur, c'est faciliter la vie des pirates à mon avis
    0
  3. Bobleponge
     
    Un truc comme :
    <?php  
    session_start();  
    echo "<center>";  
    $x = mysql_connect('localhost','root','');  
    mysql_select_db('projet',$x);  
    $v1 = $_POST['Login'];  
    $v2 = $_POST['Password'];  
    
    $req = "SELECT * FROM authentification WHERE Login = '" . $v1 . "'";  
    $res = mysql_query($req);  
    
    if (mysql_num_rows($res) > 0)  
    {  
       $lig = mysql_fetch_assoc($res);  
       if($lig["Password"] == $v2)  
       {  
           echo"Vous êtes connecté<br />";  
           header("location:indexx.php");  
       }  
       else  
      {  
          echo "<script>alert('Erreur !')</script>";  
          header("location:index.html");  
      }  
    } 
    echo "</center>"; 
    ?>   
    

    Devrait fonctionner... A verifier.

    ATTENTION ! Pense a proteger tes variables venant de $_POST .. Sinon tu devras faire face a de nombreuses injections SQL...
    0