117 lines
4.0 KiB
PHP
117 lines
4.0 KiB
PHP
<?php
|
|
require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php';
|
|
|
|
/*
|
|
- prénom, nom, mail, mdp, code rôle
|
|
- vérifier que le mail n'existe pas déjà
|
|
- vérifier que le code rôle est correct, et affecter le rôle correspondant
|
|
- hasher le mdp
|
|
- enregistrer le nouvel utilisateur dans la bdd
|
|
- créer un cookie avec mail, nom, prénom, rôle. Qui expire dans 1h
|
|
*/
|
|
?>
|
|
|
|
|
|
|
|
<!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="../../styles/main.css" />
|
|
<link rel="stylesheet" href="../../styles/header.css" />
|
|
<link rel="stylesheet" href="../../styles/footer.css" />
|
|
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" />
|
|
|
|
<link rel="icon" type="image/png" sizes="32x32"
|
|
href="https://tickets.paris2024.org/obj/media/FR-Paris2024/specialLogos/favicons/favicon-32x32.png" />
|
|
<script src="https://kit.fontawesome.com/f16a36bad3.js" crossorigin="anonymous"></script>
|
|
<title>Jeux Olympiques - Paris 2024</title>
|
|
</head>
|
|
|
|
<body>
|
|
<?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/header.php');
|
|
|
|
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
|
$name = htmlspecialchars($_POST["name"]);
|
|
$familyName = htmlspecialchars($_POST["family_name"]);
|
|
$email = htmlspecialchars($_POST["email"]);
|
|
$password = htmlspecialchars($_POST["password"]);
|
|
$codeRole = htmlspecialchars($_POST["code-role"]);
|
|
}
|
|
|
|
$hashedPassword = sha1($password);
|
|
|
|
$query = "SELECT mail FROM user WHERE mail = '$email'";
|
|
$result = mysqli_query($db, $query);
|
|
|
|
if (!$result) {
|
|
die("Erreur lors de l'exécution de la requête.");
|
|
}
|
|
|
|
$row = mysqli_fetch_assoc($result);
|
|
|
|
if ($row) {
|
|
die("<p>Un utilisateur avec cette adresse mail existe déjà.</p>");
|
|
}
|
|
|
|
if ($codeRole == "M25QP") {
|
|
$role = "Administrateur";
|
|
} else if ($codeRole == "TF53K") {
|
|
$role = "Sportif";
|
|
} else if ($codeRole == "VJC6V") {
|
|
$role = "Organisateur";
|
|
} else if ($codeRole == "XJ9LQ") {
|
|
$role = "Spectateur";
|
|
} else {
|
|
$role = "Membre";
|
|
}
|
|
|
|
$addUser = "INSERT INTO `user`(`mail`, `name`, `family_name`, `role`, `password`) VALUES ('$email', '$name', '$familyName', '$role', '$hashedPassword')";
|
|
|
|
$resultAddUser = mysqli_query($db, $addUser);
|
|
if (!$resultAddUser) {
|
|
echo "<p class='text'>Erreur lors de l'exécution de la requête.</p>";
|
|
} else {
|
|
if (mysqli_affected_rows($db) > 0) {
|
|
echo "<p class='text'>Utilisateur créé avec succès. </p>";
|
|
|
|
// Créer un tableau avec les données utilisateur
|
|
$userData = array(
|
|
"email" => $email,
|
|
"name" => $name,
|
|
"familyName" => $familyName,
|
|
"role" => $role,
|
|
);
|
|
// Sérialiser le tableau en JSON
|
|
$userDataEncoded = json_encode($userData);
|
|
// Stocker les données sérialisées dans un cookie
|
|
setcookie("userData", $userDataEncoded, time() + 3600, "/");
|
|
|
|
echo "<p class='text'>Cookie créé avec succès. Contenu du cookie :</p>";
|
|
echo "<p class='text'>" . $userDataEncoded . "</p>";
|
|
|
|
echo "<p class='text'>Prénom : " . $name . "</p>";
|
|
echo "<p class='text'>Nom : " . $familyName . "</p>";
|
|
echo "<p class='text'>Adresse mail : " . $email . "</p>";
|
|
echo "<p class='text'>Mot de passe : " . $password . "</p>";
|
|
echo "<p class='text'>Mot de passe hashé : " . $hashedPassword . "</p>";
|
|
echo "<p class='text'>Rôle : " . $role . "</p>";
|
|
?>
|
|
<script type="text/javascript">
|
|
window.location.href = '/';
|
|
</script> <?php
|
|
} else {
|
|
echo "<p class='text'>Aucun utilisateur n\'a été ajouté.</p>";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
include ($_SERVER['DOCUMENT_ROOT'] . '/views/footer.php');
|
|
?>
|
|
</body>
|
|
|
|
</html>
|