Message sur php

Fermé
ziko.1988 Messages postés 24 Date d'inscription mercredi 14 juillet 2010 Statut Membre Dernière intervention 22 août 2010 - 11 août 2010 à 13:58
 Bobleponge - 11 août 2010 à 16:14
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

Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
11 août 2010 à 14:00
Ben ton script envoie déjà une alerte en cas de soucis non?

Je ne vois pas trop ce que tu veux faire...
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
11 août 2010 à 14:06
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
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