Nofu/template/default/register.php
2024-06-14 17:20:01 +02:00

54 lines
No EOL
1.4 KiB
PHP

<?php
use Login\Login;
use Utils\CsrfToken;
use KTH\App;
$error = null;
$breadcrumbs = ' / Create user';
App::initializeDataDir();
if (!empty($_POST)) {
if (empty($_POST['login']) || empty($_POST['password']) || empty($_POST['role'])) {
$error = 'Please fill login, password and role.';
} else {
if (CsrfToken::validateToken($_POST['token'])) {
$login = new Login;
$addUser = $login->addUser($_POST['login'], $_POST['password'], $_POST['role']);
if ($addUser === true) {
header('Location: index.php');
} else {
$error = 'Error 02 - This user already exist';
}
} else {
$error = 'Error 07 : Wrong token';
}
}
}
require 'header.php';
?>
<div class="titleBar">
<h1><?= $config['title'] . $breadcrumbs; ?></h1>
</div>
<form action="?" class="login" method="post">
<div class="alert" style="color: red;">
<?= $error; ?>
</div>
<label>Login</label>
<input type="text" name="login" required>
<label>Password</label>
<input type="password" name="password" required>
<label>Rôle</label>
<select name="role" required>
<option value="user">User</option>
<option value="admin">Admin</option>
</select>
<input type="hidden" name="token" value="<?= CsrfToken::generateToken(); ?>">
<button type="submit">Create user</button>
</form>
</body>
</html>