e59-website/html/login.php
2024-03-09 17:38:09 +01:00

101 lines
3.3 KiB
PHP

<?php
require "../include/variables.php";
require "../include/functions.php";
if(isset($_SESSION['userid'])) {
header("Location: index.php");
die("Vous êtes déjà connecté");
}
if(isset($_POST['username']) && isset($_POST['password'])) {
if(empty($_POST['username']) == false && empty($_POST['password']) === false) {
$bdd = connect($dbhost, $dbname, $dbuser, $dbpass);
$req = $bdd->prepare("SELECT ID, username, email, display_name, role, accreditation FROM users WHERE (username = :username OR email = :username) AND password = :password");
$req->bindParam(':username', htmlspecialchars($_POST['username']));
$req->bindParam(':password', md5($_POST['password']));
$req->execute();
$resultat = $req->fetchAll(PDO::FETCH_ASSOC);
if ($resultat) {
$_SESSION['username'] = $resultat[0]['username'];
$_SESSION['email'] = $resultat[0]['email'];
$_SESSION['display_name'] = $resultat[0]['display_name'];
$_SESSION['userid'] = $resultat[0]['ID'];
$_SESSION['role'] = $resultat[0]['role'];
$_SESSION['accreditation'] = $resultat[0]['accreditation'];
header("Location: index.php");
exit();
} else {
$status = "Nom d'utilisateur / mot de passe incorrect";
}
}
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="./src/css/style.css">
<style>
@media (prefers-color-scheme: dark) {
.body {
<?=$theme_dark?>
}
}
@media (prefers-color-scheme: light) {
.body {
<?=$theme_light?>
}
}
</style>
<link rel="icon" href="./src/img/favicon.ico">
<title><?=$title?></title>
</head>
<body class="body">
<header>
<div class="pancontent">
<div class="athena-container">
<a href="<?=$root?>" class="athena-link">
<img src="./src/img/athena-mono.png" class="athena">
</a>
</div>
<div class="content">
<div>
<div class="main-title">
<div class="title"><?=$header_title?></div>
<div class="subtitle"><?=$header_subtitle?></div>
</div>
</div>
</div>
</div>
</header>
<nav>
<div class="pancontent">
<?php nav($nav);?>
</div>
</nav>
<main>
<div class="content">
<div><form action="#" method="post">
<div>
<div><input type="text" name="username" placeholder="Nom d'utilisateur" required></div>
<div><input type="password" name="password" placeholder="Mot de Passe" required></div>
<div><input type="submit" value="Connexion"><a href="register.php"><div class="button">Créer un compte</div></a></div>
<div><?$status?></div>
</div>
</div></form>
</div>
</main>
<footer>
<div class="content">
<div>
<div><?=$copyright?></div>
</div>
</div>
</footer>
</body>
</html>