Skip to content
Snippets Groups Projects
Commit 0a9438d1 authored by Adrien KRÄHENBÜHL's avatar Adrien KRÄHENBÜHL
Browse files

[TP2] Ajout du corrige

parent 83f6c093
Branches
No related merge requests found
<?php
session_start();
if ( !isset($_SESSION['user']) )
{
header('Location: signin.php');
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Account</title>
</head>
<body>
<p>
Hello <?= $_SESSION['user']; ?> !<br>
Welcome on your account.
</p>
<p><a href="signout.php">Sign out</a></p>
</body>
</html>
<?php
/******************************************************************************
* Initialisation.
*/
session_start();
unset($_SESSION['message']);
/******************************************************************************
* Traitement des données de la requête
*/
// 1. On vérifie que la méthode HTTP utilisée est bien POST
if ( $_SERVER['REQUEST_METHOD'] != 'POST' )
{
header('Location: signin.php');
exit();
}
// 2. On vérifie que les données attendues existent
if ( !isset($_POST['login'],$_POST['password']) )
{
header('Location: signin.php');
exit();
}
// 3. On sécurise les données reçues
$login = htmlentities($_POST['login']);
$password = htmlentities($_POST['password']);
/******************************************************************************
* Initialisation de l'accès à la BDD
*/
require_once('bdd.php');
/******************************************************************************
* Authentification
*/
// 1. On vérifie que le login existe dans la BDD
if ( !array_key_exists($login, $users) )
{
$_SESSION['message'] = "Wrong login.";
header('Location: signin.php');
exit();
}
// 2. On vérifie que le mot de passe associé au login est correct
if ( $users[$login] !== $password )
{
$_SESSION['message'] = "Wrong password.";
header('Location: signin.php');
exit();
}
// 3. On sauvegarde le login dans la session
$_SESSION['user'] = $login;
// 4. On sollicite une redirection vers la page du compte
header('Location: account.php');
exit();
<?php
// Ce tableau associe un nom d'utilisateur à un mot de passe :
// user => password
$users = [
'a' => 'a',
'adrien' => 'adrien',
'gabriel' => 'gabriel',
'gil' => 'gil',
];
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Signin</title>
</head>
<body>
<h1>Signin</h1>
<form action="authenticate.php" method="post">
<label for="login">Login</label> <input type="text" id="login" name="login" required autofocus>
<label for="password">Password</label> <input type="password" id="password" name="password" required>
<input type="submit" value="Signin">
</form>
<?php if ( isset($_SESSION['message']) && !empty($_SESSION['message']) ) { ?>
<section>
<p><?= $_SESSION['message']; ?></p>
</section>
<?php } ?>
</body>
</html>
<?php
session_start();
session_destroy(); // ou unset($_SESSION['user']);
header('Location: signin.php');
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment