SAE_web/account/login/login.php

93 lines
2.5 KiB
PHP
Raw Normal View History

<?php
require_once ($_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php');
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email = htmlspecialchars($_POST["email"]);
$password = htmlspecialchars($_POST["password"]);
}
/*
hasher le mdp
- check la validité du combo mail + mdp (qui es thashé sur la bdd)
- si valide, on enregistre un cookie avec mail, nom, prénom, rôle (requete sql pour les obtenir)
- créer un cookie avec mail, nom, prénom, rôle. Qui expire dans 1h
une fois bien connecté, on redirige vers /account/profile
*/
?>
<?php
$hashedPassword = sha1($password);
$resultat = mysqli_query($db, "SELECT *
FROM user
WHERE mail = $email AND password = $hashedPassword");
$query = "SELECT mail, password
FROM user
WHERE mail = '$email'";
$result = mysqli_query($db, $query);
if (!$result) {
die("Erreur lors de l'exécution de la requête.");
}
if (!$password) {
die("Combinaison email/mot de passe incorrecte.");
}
if (!$email) {
die("Combinaison email/mot de passe incorrecte.");
} else {
echo "<p>Connexion réussie</p>";
// Requête pour récupérer les informations de l'utilisateur
$query = "SELECT name, family_name, role FROM user WHERE mail = '$email'";
$result = mysqli_query($db, $query);
if (!$result) {
die('Erreur de requête : ' . mysqli_error($db));
}
// Récupération des données
if ($row = mysqli_fetch_assoc($result)) {
$nameFetched = $row['name'];
$familyNameFetched = $row['family_name'];
$roleFetched = $row['role'];
} else {
echo "Aucun utilisateur trouvé avec cet email.";
}
$userData = array(
"email" => $email,
"name" => $nameFetched,
"familyName" => $familyNameFetched,
"role" => $roleFetched
);
$userDataEncoded = json_encode($userData);
setcookie("userData", $userDataEncoded, time() + 3600, "/");
if (isset($_COOKIE['userData'])) {
$userDataEncoded = $_COOKIE['userData'];
$userData = json_decode($userDataEncoded, true); // 'true' pour obtenir un tableau associatif
echo "Email : " . $userData['email'] . "<br>";
echo "Prénom : " . $userData['name'] . "<br>";
echo "Nom : " . $userData['familyName'] . "<br>";
echo "Rôle : " . $userData['role'] . "<br>";
} else {
echo "Cookie 'userData' non trouvé.";
}
}
$newURL = "/account/profile";
header("Location: " . $newURL);
die();
?>