Authentication works
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
class AuthController {
|
||||
|
||||
public function helloWorld() {
|
||||
echo "helloworld";
|
||||
}
|
||||
|
||||
public function displayConnForm() {
|
||||
include __DIR__."/../view/ConnForm.php";
|
||||
}
|
||||
|
||||
public function handleConnForm() {
|
||||
session_start();
|
||||
require_once __DIR__."/../utils_inc/inc_pdo.php"; // $pdo existe ici désormais
|
||||
// http://localhost/contribs/traiterAuthentification.php?login=M001&pass=123
|
||||
|
||||
// Recevoir les données du form de login, et vérifier login/pass dans la base
|
||||
// En version finale : envoi en $_POST obligatoire. Pour le dev $_GET peut être plus pratique.
|
||||
$login = $_POST["login"];
|
||||
$pass = $_POST["pass"];
|
||||
|
||||
// Vérification dans la base si le mot de passe et le login se trouvent dans la base
|
||||
// VERSION mot de passe chiffré
|
||||
$textR = "select droit, password ";
|
||||
$textR.= "from membre ";
|
||||
$textR.= "where id=:login ";
|
||||
$req = $pdo->prepare($textR);
|
||||
$req->bindParam(":login", $login);
|
||||
$req->execute();
|
||||
|
||||
// 2 possibilités : 1 ligne retournée ou 0 ligne retournée
|
||||
$tabRes = $req->fetchAll(PDO::FETCH_ASSOC);
|
||||
if (count($tabRes)!=1) {
|
||||
// pas trouvé => retour au formulaire de co
|
||||
// die("Erreur de co");
|
||||
header("Location:../index.php?message=tekitoa");
|
||||
exit();
|
||||
}
|
||||
|
||||
// Si on arrive là : login existe (count==1)
|
||||
if (!password_verify($pass, $tabRes[0]["password"])){
|
||||
// die("Erreur de co");
|
||||
header("Location:../index.php?message=tekitoa");
|
||||
exit();
|
||||
}
|
||||
|
||||
$_SESSION["login"] = $login;
|
||||
$_SESSION["droit"] = $tabRes[0]["droit"];
|
||||
|
||||
// redirection vers accueil, éventuellement spécifique à l'utilisateur
|
||||
header("Location:../view/home.php");
|
||||
}
|
||||
}
|
@@ -1,36 +1,34 @@
|
||||
<?php
|
||||
require_once __DIR__."/../controller/AuthController.php";
|
||||
|
||||
?>
|
||||
define("BASE_URL","/contribEvo/");
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link href="css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="css/styles.css" rel="stylesheet">
|
||||
<title>Connexion</title>
|
||||
</head>
|
||||
//index.php?route=maRoute¶m1=truc
|
||||
// => receive get route
|
||||
|
||||
<body class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-4">
|
||||
<form id="formLogin" action="traitements/traiterAuthentification.php" method="post">
|
||||
<h3 class="text-center">Identifiez-vous</h3>
|
||||
<div class="form-group">
|
||||
<label for="id">Login :</label><br>
|
||||
<input type="text" name="login" id="id" class="form-control">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="mdp">Pass :</label><br>
|
||||
<input type="password" name="pass" id="mdp" class="form-control">
|
||||
</div>
|
||||
<br>
|
||||
<div class="form-group text-end">
|
||||
<input type="submit" name="submit" class="btn btn-primary btn-md" value="Valider">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
$route = isset($_GET["route"])? $_GET["route"] : null;
|
||||
|
||||
/*
|
||||
if (isset($_GET["route"])) {
|
||||
$route = $_GET["route"]
|
||||
} else {
|
||||
$route = null;
|
||||
}
|
||||
*/
|
||||
if ($route=="helloworld") {
|
||||
$ctr = new AuthController();
|
||||
$ctr->helloWorld();
|
||||
exit();
|
||||
}
|
||||
|
||||
if ($route=="displayConnForm") {
|
||||
$ctr = new AuthController();
|
||||
$ctr->displayConnForm();
|
||||
exit();
|
||||
}
|
||||
|
||||
if ($route=="handleConnForm") {
|
||||
$ctr = new AuthController();
|
||||
$ctr->handleConnForm();
|
||||
exit();
|
||||
}
|
||||
|
3
utils_inc/inc_pdo.php
Normal file
3
utils_inc/inc_pdo.php
Normal file
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
|
||||
$pdo = new PDO('mysql:host=mysqlsrv;dbname=contrib', "contrib_root", "123abc");
|
36
view/ConnForm.php
Normal file
36
view/ConnForm.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link href="css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="css/styles.css" rel="stylesheet">
|
||||
<title>Connexion</title>
|
||||
</head>
|
||||
|
||||
<body class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-4">
|
||||
<form id="formLogin" action="index.php?route=handleConnForm" method="post">
|
||||
<h3 class="text-center">Identifiez-vous</h3>
|
||||
<div class="form-group">
|
||||
<label for="id">Login :</label><br>
|
||||
<input type="text" name="login" id="id" class="form-control">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="mdp">Pass :</label><br>
|
||||
<input type="password" name="pass" id="mdp" class="form-control">
|
||||
</div>
|
||||
<br>
|
||||
<div class="form-group text-end">
|
||||
<input type="submit" name="submit" class="btn btn-primary btn-md" value="Valider">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
14
view/home.php
Normal file
14
view/home.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
<link href="../css/bootstrap.min.css" rel="stylesheet">
|
||||
<script src="../js/bootstrap.bundle.min.js"></script>
|
||||
</head>
|
||||
<body class="container">
|
||||
<?php include "../utils_inc/inc_navbar.php"; ?>
|
||||
<h1>Hello et bienvenue, co OK.</h1>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user