43 lines
1.3 KiB
PHP
43 lines
1.3 KiB
PHP
<?php
|
|
|
|
if (processForm(false)) {
|
|
checkPasswordFormat($_POST['password']);
|
|
|
|
checkUsernameFormat($_POST['username']);
|
|
|
|
$username = hashUsername($_POST['username']);
|
|
|
|
if (usernameExists($username) !== true)
|
|
output(403, 'Connexion impossible : ce compte n\'existe pas.');
|
|
|
|
$id = query('select', 'users', ['username' => $username], 'id')[0];
|
|
|
|
if (checkPassword($id, $_POST['password']) !== true)
|
|
output(403, 'Connexion impossible : clé de passe invalide.');
|
|
|
|
$_SESSION['id'] = $id;
|
|
$_SESSION['display-username'] = htmlspecialchars($_POST['username']);
|
|
$_SESSION['type'] = query('select', 'users', ['id' => $id], 'type')[0];
|
|
|
|
if (outdatedPasswordHash($id))
|
|
changePassword($id, $_POST['password']);
|
|
|
|
redir();
|
|
}
|
|
|
|
?>
|
|
|
|
<p>Pas de compte ? <a class="auth" href="register">En créer un</a></p>
|
|
|
|
<form method="post">
|
|
<label for="username">Identifiant</label><br>
|
|
<input required="" minlength="1" maxlength="1024" pattern="<?= USERNAME_REGEX ?>" id="username" name="username" type="text" placeholder="<?= PLACEHOLDER_USERNAME ?>">
|
|
<br>
|
|
|
|
<label for="password">Clé de passe</label><br>
|
|
<input required="" autocomplete="current-password" minlength="8" maxlength="1024" pattern="<?= PASSWORD_REGEX ?>" id="password" name="password" type="password" placeholder="<?= PLACEHOLDER_PASSWORD ?>">
|
|
<br>
|
|
|
|
<input type="submit">
|
|
</form>
|