Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- session_start();
- if(isset($_POST['username']) && isset($_POST['password']))
- {
- // connexion à la base de données
- $db_username = 'root';
- $db_password = 'root';
- $db_name = 'Proessa';
- $db_host = 'localhost';
- $db = mysqli_connect($db_host, $db_username, $db_password,$db_name)
- or die('could not connect to database');
- // on applique les deux fonctions mysqli_real_escape_string et htmlspecialchars
- // pour éliminer toute attaque de type injection SQL et XSS
- $username = mysqli_real_escape_string($db,htmlspecialchars($_POST['username']));
- $password = mysqli_real_escape_string($db,htmlspecialchars($_POST['password']));
- $admin = mysqli_real_escape_string($db,htmlspecialchars($_POST['admin'])); // Code rajouté pour ADMIN
- /**
- * à aucun moment tu ne te sers de $admin
- * je pense que si tu veux utiliser le boolen admin, le mieux c'est d'avoir une seule table utilisateur dans laquelle
- * sont mélangées admin et user normal
- * et tu devrais tester du coup si le booleen est true|false pour savoir si l'utilsateur qui se loggue est un admin ou non
- */
- if($username !== "" && $password !== "")
- {
- //La requete COMPTE le nombre d'utilisitateur corresponsdant à la combinaison username/password dans la table 'utilisateur'
- $requete = "SELECT count(*) FROM utilisateur where NNI = '".$username."' and MotDePasse = '".$password."'";
- $exec_requete = mysqli_query($db,$requete);
- $reponse = mysqli_fetch_array($exec_requete);
- $countNormal = $reponse['count(*)'];
- //var_dump sert à afficher le contenu d'une variable
- //ici on souhaite afficher le contenu de countNormal,
- //je mets un petit texte indicatif ('user normaux') avant pour savoir à quoi le chiffre va correspondre quand on lance le script
- var_dump('user normaux', $countNormal);
- //SI countNormal est > 0 alors ça veut dire que la combinaison userName/password correspond à un utilisateur normal
- //donc on va rentrer dans le if suivant
- if ($countNormal > 0) {
- //ici je fais un die avec affichage de message mais normalement il faut faire la redirection vers la page souhaité
- die('faire redirection page user normal');
- //ça devrait etre un
- //header('Location: index.php'); //je ne sais pas quel est le nom de ta page principale
- }
- //si on n'entre pas dans le IF precedent, ça veut dire que la combinaison username/password n'existe pas dans la table user
- //on doit tester dans la table ADMIN
- //La requete COMPTE le nombre d'utilisitateur corresponsdont
- $requeteAdmin = "SELECT count(*) FROM utilisateur where NNI = '".$username."' and MotDePasse = '".$password."'" ;
- //c'est cette requete qui n'est pas bonne : il faut rajouter le test du champs booleen
- $requeteAdmin = "SELECT count(*) FROM utilisateur where NNI = '".$username."' and MotDePasse = '".$password."' and nomDuChampsBoolen = '".$admin."'" ;
- $exec_requeteAdmin = mysqli_query($db,$requeteAdmin);
- $reponseAdmin = mysqli_fetch_array($exec_requeteAdmin);
- $countAdmin = $reponseAdmin['count(*)'];
- //affichage du nombre d'admin correspondant à la combinaison username/admin présent dans la table "utilisateur"
- var_dump('user admin', $countAdmin);
- //SI countAdmin est > 0 alors ça veut dire que la combinaison userName/password correspond à un utilisateur admin
- //donc on va rentrer dans le if suivant
- if ($countAdmin > 0) {
- die('faire redirection page user admin');
- //header('Location: admin.html');
- }
- }
- else
- {
- header('Location: login.php?erreur=2'); // utilisateur ou mot de passe vide
- }
- }
- else
- {
- header('Location: login.php');
- }
- mysqli_close($db); // fermer la connexion
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement