Authentification php/SQL

Fermé
mimeau08 Messages postés 1 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 4 juin 2013 - 4 juin 2013 à 19:36
Tomy2e Messages postés 816 Date d'inscription jeudi 21 février 2013 Statut Membre Dernière intervention 18 août 2016 - 4 juin 2013 à 21:51
Voila, je dois crée une authentification ! Alors j'ai crée mon formulaire qui s'affiche bien sur mon site, mais j'ai quelque problème avec mon verif.php ! L'objectif est de controler si le mot de passe et le login sont correcte ! A savoir qu'une variable type apparait selon l'utilisateur (Secretaire, Responsable, ou client)

Voila mon programme, d'après vous pourquoi ne fonctionne t'il pas ...

<html>
<body>
<?php
@SESSION_START();
$leLogin=$_POST["log"];
$leMP = $_POST["mp"];
$type = "SELECT type FROM utilisateur WHERE login='" .$leLogin. "' AND mp = '" .$leMP. "'";
$log = "SELECT login FROM utilisateur WHERE login='" .$leLogin. "' AND mp = '" .$leMP. "'";
$motPasse = "SELECT mp FROM utilisateur WHERE login='" .$leLogin. "' AND mp = '" .$leMP. "'";
$typeBD = mysql_query($type);
$logBD = mysql_query($log);
$mpBD = mysql_query($motPasse);
IF($leLogin==$logBD && $leMP==$mpBD)
{ $_SESSION["login"]=$leLogin;
if ($_SESSION["type"]="S")
{ Header("Location: ./secretaire/fonctionss.html");
}
if($_SESSION["type"]="R")
{ Header("Location: ./secretaire/fonctionsr.html");
}
if($_SESSION["type"]="E")
Header("Location: ./secretaire/fonctionse.html");
}
else
{
echo"Erreur";
}
?>
</body>
</html>
A voir également:

1 réponse

Tomy2e Messages postés 816 Date d'inscription jeudi 21 février 2013 Statut Membre Dernière intervention 18 août 2016 858
Modifié par Tomy2e le 4/06/2013 à 21:52
Ou la la, votre code comporte des erreurs importantes !
- Le session_start() doit être déclaré en tout premier (avec le <html>).
- Grosse faille de sécurité: variables $leLogin et $leMP non protégées.

Avant de continuer votre site je vous recommande absolument de suivre un tutoriel sur le PHP.

(Sinon pour répondre à votre question, cela ne fonctionne pas car vous n'avez pas fait de fetch sur la requête assignée à la variable $mpBD, et après le fetch, la variable $mpBD sera sous forme de tableau, il faudra donc utiliser $mpBD['icilenomdelacolonne']).
1