Files
smart-house---final-/register.php
2026-05-27 07:37:51 +00:00

60 lines
2.1 KiB
PHP

<?php
session_start();
$usersFile = 'users.json.php';
$users = file_exists($usersFile) ? json_decode(file_get_contents($usersFile), true) : [];
$message = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = trim($_POST['username']);
$password = trim($_POST['password']);
if (empty($username) || empty($password)) {
$message = "Veuillez remplir tous les champs.";
} elseif (strlen($password) < 6) {
$message = "Le mot de passe doit faire au moins 6 caractères.";
} elseif (isset($users[$username])) {
$message = "Cet utilisateur existe déjà !";
} else {
$hash = password_hash($password, PASSWORD_DEFAULT);
$users[$username] = [
'password' => $hash,
'role' => 'User',
'statut' => 'en_attente'
];
file_put_contents($usersFile, json_encode($users, JSON_PRETTY_PRINT));
header("Location: login.php?registered=1");
exit();
}
}
include 'include/header.php';
?>
<div class="form-box">
<h2>Créer un compte</h2>
<?php if ($message): ?>
<p class="form-error"><?php echo htmlspecialchars($message); ?></p>
<?php endif; ?>
<form method="POST" action="register.php">
<label class="field-label" for="username">Nom d'utilisateur</label>
<input id="username" type="text" name="username" placeholder="Nom d'utilisateur" required>
<label class="field-label" for="password">Mot de passe</label>
<div class="password-wrapper">
<input id="password" type="password" name="password" placeholder="Mot de passe (6 car. min.)" required>
<button type="button" class="toggle-password" onclick="togglePassword()">👁️</button>
</div>
<button type="submit">S'inscrire</button>
</form>
<p class="form-link">Déjà un compte ? <a href="login.php">Se connecter</a></p>
</div>
<script>
function togglePassword() {
const input = document.getElementById('password');
input.type = input.type === 'password' ? 'text' : 'password';
}
</script>
<?php include 'include/footer.php'; ?>