Ajouter profil.php

This commit is contained in:
2026-04-13 11:40:35 +00:00
parent f0b3c23ca6
commit ce9fdbe19f

83
profil.php Normal file
View File

@@ -0,0 +1,83 @@
<?php
session_start();
require_once 'include/session_check.php';
include 'include/header.php';
$usersFile = 'users.json';
$users = file_exists($usersFile) ? json_decode(file_get_contents($usersFile), true) : [];
$message = '';
$success = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$ancien = trim($_POST['ancien_password']);
$nouveau = trim($_POST['nouveau_password']);
$confirm = trim($_POST['confirm_password']);
if (empty($ancien) || empty($nouveau) || empty($confirm)) {
$message = "Veuillez remplir tous les champs.";
} elseif (!password_verify($ancien, $users[$_SESSION['user']]['password'])) {
$message = "Ancien mot de passe incorrect.";
} elseif (strlen($nouveau) < 6) {
$message = "Le nouveau mot de passe doit faire au moins 6 caractères.";
} elseif ($nouveau !== $confirm) {
$message = "Les mots de passe ne correspondent pas.";
} else {
$users[$_SESSION['user']]['password'] = password_hash($nouveau, PASSWORD_DEFAULT);
file_put_contents($usersFile, json_encode($users, JSON_PRETTY_PRINT));
$success = "Mot de passe modifié avec succès !";
}
}
?>
<main>
<div class="form-box" style="margin-top: 40px;">
<h2>👤 Mon Profil</h2>
<div class="profil-info">
<p><strong>Nom d'utilisateur :</strong> <?php echo htmlspecialchars($_SESSION['user']); ?></p>
<p><strong>Rôle :</strong> <?php echo htmlspecialchars($_SESSION['role']); ?></p>
</div>
<hr style="border-color: #444; margin: 20px 0;">
<h3 style="margin-bottom: 15px; font-size: 1em;">Changer le mot de passe</h3>
<?php if ($message): ?>
<p class="form-error"><?php echo htmlspecialchars($message); ?></p>
<?php endif; ?>
<?php if ($success): ?>
<p class="form-success"><?php echo htmlspecialchars($success); ?></p>
<?php endif; ?>
<form method="POST" action="profil.php">
<label class="field-label" for="ancien_password">Ancien mot de passe</label>
<div class="password-wrapper">
<input id="ancien_password" type="password" name="ancien_password" placeholder="Ancien mot de passe" required>
<button type="button" class="toggle-password" onclick="togglePass('ancien_password')">👁️</button>
</div>
<label class="field-label" for="nouveau_password">Nouveau mot de passe</label>
<div class="password-wrapper">
<input id="nouveau_password" type="password" name="nouveau_password" placeholder="Nouveau mot de passe (6 car. min.)" required>
<button type="button" class="toggle-password" onclick="togglePass('nouveau_password')">👁️</button>
</div>
<label class="field-label" for="confirm_password">Confirmer le mot de passe</label>
<div class="password-wrapper">
<input id="confirm_password" type="password" name="confirm_password" placeholder="Confirmer le mot de passe" required>
<button type="button" class="toggle-password" onclick="togglePass('confirm_password')">👁️</button>
</div>
<button type="submit">Changer le mot de passe</button>
</form>
</div>
</main>
<script>
function togglePass(id) {
const input = document.getElementById(id);
input.type = input.type === 'password' ? 'text' : 'password';
}
</script>
<?php include 'include/footer.php'; ?>