Ajouter profil.php
This commit is contained in:
83
profil.php
Normal file
83
profil.php
Normal 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'; ?>
|
||||
Reference in New Issue
Block a user