Authentification LOGIN + MOT DE PASSE - PHP

Résolu/Fermé
Utilisateur anonyme - 10 juin 2008 à 22:42
Panshu Messages postés 31 Date d'inscription mardi 19 avril 2011 Statut Membre Dernière intervention 26 mai 2014 - 26 mai 2014 à 18:32
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
11 juin 2008 à 13:27
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 59 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 17 mars 2010 23
11 juin 2008 à 13:34
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
tu a mis un echo
0
Panshu Messages postés 31 Date d'inscription mardi 19 avril 2011 Statut Membre Dernière intervention 26 mai 2014
26 mai 2014 à 18:32
@redlifebig c'est faux, ça rend un site vulnérable aux injections SQL.

Il faut passer par la fonction htmlspecialchars().
0