Authentification LOGIN + MOT DE PASSE - PHP

Résolu
Utilisateur anonyme -  
Panshu Messages postés 34 Statut Membre -
Bonjour à tous,

j'ai un formulaire qui abouti sur une page PHP mais qui pose des soucis de connexion avec lesquelles je n'arrives pas à identifier le problème.

Le script est celui ci :

<?php

mysql_connect("mon site","mon login","mon mot de passe")
or die("Connexion au serveur impossible");
mysql_select_db("Membre")
or die("Sélection de la base impossible");

if( empty($_POST["login"])) {echo "Le nom d'utilisateur n'est pas renseigné<br><br>";
}
if( empty($_POST["password"])) {echo "<br>Vous avez oubliez d'insérer votre mot de passe<br>";
}

$login = $_POST[login];
$password = $_POST[password];

$sql = "select * FROM Membre WHERE PseudoMembre = '".$login."' AND PasswordMembre = '".$password."' ;";

$req =mysql_query($sql, Membre);

if ($req == null )
{echo "<BR>connexion impossible<BR><br> Nom d'utilisateur et / ou mot de passe incorrect <br><br>";

} else
{echo "<br>Bonjour<br> ".$login;

}

?>


Mais il fonctionne pas et je ne sais pas pourquoi...

Pouvez - vous m'aider??

Je vous remercie infiniment, par avance, de votre aide.

16 réponses

Utilisateur anonyme
 
Bonjour à tous,

et merci lewis34 de ton aide, mais mon problème vient de ma requete.

Je fais un autre script pour pouvoir voir si ma requete était bonne, elle est toujours fausse et je comprends pas pourquoi

Voici le script

<?php

mysql_connect("mon site","mon login","mon mot de passe")
or die("Connexion au serveur impossible");
mysql_select_db("Membre")
or die("Sélection de la base impossible");

if( empty($_POST["login"])) {echo "Le nom d'utilisateur n'est pas renseigné<br><br>";
}
if( empty($_POST["password"])) {echo "<br>Vous avez oubliez d'insérer votre mot de passe<br>";
}

$sqla = "SELECT PseudoMembre FROM Membre WHERE PseudoMembre = .$_POST[login]. ;";
$sqlb = "SELECT PasswordMembre FROM Membre WHERE PasswordMembre = .$_POST[password]. ;";

$conna = mysql_query($sqla);
$connb = mysql_query($sqlb);


if (!$conna && !$connb)

{echo "$_POST[login]"."$_POST[password]";
}

?>

A chaque fois que je l'éxécute, ca me donne faux, et donc affiche le nom d'utilisateur et le mot de passe.

Merci par avance de votre aide.
7
redlifebig Messages postés 60 Statut Membre 23
 
Remplace tes requêtes par ça

$sqla = "SELECT PseudoMembre FROM Membre WHERE PseudoMembre = ".$_POST[login]." ;";
$sqlb = "SELECT PasswordMembre FROM Membre WHERE PasswordMembre = ".$_POST[password]." ;";
0
justine
 
tu a mis un echo
0
Panshu Messages postés 34 Statut Membre
 
@redlifebig c'est faux, ça rend un site vulnérable aux injections SQL.

Il faut passer par la fonction htmlspecialchars().
0