
- /html/about.php - /html/admin.php - /html/compte.php - /html/editpage.php - /html/login.php - /html/logout.php - /html/news.php - /html/register.php - /html/src/banner/index.php - /html/src/img/empty.jpg - /html/src/img/favicon.ico - /html/src/miniature/index.php - /html/src/pp/index.php - /html/upload.php - /html/user.php - /html/users.php - /content/journal/0.md - /content/journal/198183.md - /content/about.md - /content/admin.md - /content/index.md - /html-old/editpage.php - /html-old/src/banner/index.php - /html-old/src/css/index.php - /html-old/src/css/style.css - /html-old/src/fonts/index.php - /html-old/src/fonts/bahnschrift.ttf - /html-old/src/img/empty.jpg - /html-old/src/img/favicon.ico - /html-old/src/img/index.php - /html-old/src/img/athena-mono.png - /html-old/src/miniature/index.php - /html-old/src/pp/index.php - /html-old/src/index.php - /html-old/about.php - /html-old/robots.txt - /html-old/admin.php - /html-old/compte.php - /html-old/login.php - /html-old/logout.php - /html-old/index.php - /html-old/news.php - /html-old/register.php - /html-old/upload.php - /html-old/users.php - /html-old/user.php - /html/about/index.php - /html/account/index.php - /html/admin/index.php - /html/assets/banners/index.php - /html/assets/miniatures/index.php - /html/assets/pp/index.php - /html/assets/index.php - /html/editor/index.php - /html/login/index.php - /html/login/logout.php - /html/login/register.php - /html/news/index.php - /html/settings/index.php - /html/settings/deleteaccount.php - /html/src/css/style.css - /html/src/img/athena-mono.png - /html/index.php - /html/robots.txt - /content/articles/0.md - /content/articles/198183.md - /content/pages/about.md - /content/pages/admin.md - /content/pages/index.md - /include/variables.php - /include/functions.php - /config/global.ini
111 lines
4.1 KiB
PHP
111 lines
4.1 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']) && isset($_POST['password2'])) {
|
|
if(empty($_POST['username']) == false && empty($_POST['password']) === false && empty($_POST['password2']) === false) {
|
|
if($_POST['password'] == $_POST['password2']) {
|
|
|
|
$display_name = isset($_POST['display_name']) ? $_POST['display_name'] : $_POST['username'];
|
|
$email = isset($_POST['email']) ? $_POST['email'] : "";
|
|
|
|
$bdd = connect($dbhost, $dbname, $dbuser, $dbpass);
|
|
$req = $bdd->prepare("SELECT ID FROM users WHERE username = :username");
|
|
$req->bindParam(":username", htmlspecialchars($_POST['username']));
|
|
$req->execute();
|
|
$resultat = $req->fetchAll(PDO::FETCH_ASSOC);
|
|
if($resultat) {
|
|
$status = "Erreur, le nom d'utilisateur existe déjà.";
|
|
} else {
|
|
$req = $bdd->prepare("INSERT INTO users (username, password, email, display_name, role, accreditation) VALUES (:username, :password, :email, :display_name, 0, 0)");
|
|
$req->bindParam(':username', htmlspecialchars($_POST['username']));
|
|
$req->bindParam(':password', md5($_POST['password']));
|
|
$req->bindParam(':email', htmlspecialchars($_POST['email']));
|
|
$req->bindParam(':display_name', htmlspecialchars($_POST['display_name']));
|
|
if ($req->execute()) {
|
|
header("Location: login.php");
|
|
exit();
|
|
} else {
|
|
$status = "Erreur SQL";
|
|
}
|
|
}
|
|
} else {
|
|
$status = "Les mots de passe ne correspondent pas.";
|
|
}
|
|
}
|
|
}
|
|
|
|
?>
|
|
<!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="display_name" placeholder="Nom d'affichage"></div>
|
|
<div><input type="email" name="email" placeholder="Adresse email"></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="password" name="password2" placeholder="Confirmez votre mot de passe" required></div>
|
|
<div><input type="submit" value="Connexion"></div>
|
|
<div class="status"><?=$status?></div>
|
|
</div>
|
|
</div></form>
|
|
</div>
|
|
</main>
|
|
<footer>
|
|
<div class="content">
|
|
<div>
|
|
<div><?=$copyright?></div>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html>
|