91 lines
2.9 KiB
PHP
91 lines
2.9 KiB
PHP
<?php
|
||
require_once __DIR__ . '/../includes/bootstrap_global.php';
|
||
$erreur = '';
|
||
|
||
// Vérifier que l’utilisateur vient bien de `mdp_oublie.php`
|
||
if (! isset($_SESSION['reset_email'], $_SESSION['reset_code'], $_SESSION['reset_time'])) {
|
||
header("Location: mdp_oublie.php");
|
||
exit;
|
||
}
|
||
|
||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||
$code_saisi = trim($_POST['code'] ?? '');
|
||
|
||
// Expiration : 15 minutes
|
||
if (time() - $_SESSION['reset_time'] > 900) {
|
||
$erreur = $translations['verif_code_expire'];
|
||
$currentLang = $_SESSION['lang'] ?? 'ru';
|
||
session_unset();
|
||
session_destroy();
|
||
session_start();
|
||
$_SESSION['lang'] = $currentLang;
|
||
} elseif ($code_saisi != $_SESSION['reset_code']) {
|
||
$erreur = $translations['verif_code_incorrect'];
|
||
} else {
|
||
// Code valide
|
||
$_SESSION['code_valide'] = true;
|
||
header("Location: nouveau_mdp.php");
|
||
exit;
|
||
}
|
||
}
|
||
?>
|
||
|
||
<!DOCTYPE html>
|
||
<html lang="ru">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title><?= $translations['verif_code_title'] ?></title>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<link href="/css/bootstrap.min.css" rel="stylesheet">
|
||
<link rel="stylesheet" href="<?= asset('/includes/site_style.css') ?>">
|
||
<link rel="stylesheet" href="<?= asset('/includes/custom_style.css') ?>"> <!-- ta home -->
|
||
<link rel="stylesheet" href="<?= asset('/includes/mobil_style.css') ?>">
|
||
</head>
|
||
<body>
|
||
<header class="site-header">
|
||
<div class="container">
|
||
<div class="header-left">
|
||
<div class="brand">
|
||
<a href="/index.php"><img src="/public/uploads/img/logo_u.png"
|
||
alt="uslugi.fr"
|
||
class="logo-mobile"></a>
|
||
|
||
<a href="/index.php"><img src="/public/uploads/img/logo.png"
|
||
alt="uslugi.fr"
|
||
class="logo-desktop"></a>
|
||
</div>
|
||
<div class="lang-switch">
|
||
<?php require __DIR__ . '/includes/menu_langue.php'; ?>
|
||
</div>
|
||
</div>
|
||
<nav class="header-actions">
|
||
|
||
</nav>
|
||
</div>
|
||
</header>
|
||
|
||
<div class="main">
|
||
<div class="card shadow-sm p-4" style="min-width: 380px;">
|
||
<h3 class="mb-4 text-center"><?= $translations['verif_code_h3'] ?></h3>
|
||
|
||
<?php if (!empty($erreur)): ?>
|
||
<div class="alert alert-danger py-2"><?php echo htmlspecialchars($erreur); ?></div>
|
||
<?php endif; ?>
|
||
|
||
<form method="POST">
|
||
<div class="mb-3">
|
||
<input type="text" name="code" class="form-control" placeholder="<?= $translations['verif_code_placeholder'] ?>"required maxlength="6" pattern="\d{6}">
|
||
</div>
|
||
<button type="submit" class="btn btn-primary w-100"><?= $translations['btn_valider'] ?></button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<footer class="site-footer">
|
||
<div class="container">
|
||
<p><?= $translations['copyr'] ?></p>
|
||
</div>
|
||
</footer>
|
||
</body>
|
||
</html>
|
||
|