Authentification LOGIN + MOT DE PASSE - PHP

Résolu
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.
Configuration: Windows XP
Internet Explorer 6.0

16 réponses

  1. 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
    1. 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
    2. tu a mis un echo
      0
    3. @redlifebig c'est faux, ça rend un site vulnérable aux injections SQL.

      Il faut passer par la fonction htmlspecialchars().
      0