62 lines
2.1 KiB
PHP
62 lines
2.1 KiB
PHP
<?php
|
|
require_once '../includes/session.php';
|
|
require_login();
|
|
require_admin();
|
|
|
|
require_once '../db/config.php';
|
|
require_once '../includes/header.php';
|
|
|
|
$user_id = $_GET['id'] ?? null;
|
|
|
|
if (!$user_id) {
|
|
header('Location: users.php');
|
|
exit();
|
|
}
|
|
|
|
$pdo = db();
|
|
$stmt = $pdo->prepare('SELECT id, name, email, role FROM users WHERE id = ?');
|
|
$stmt->execute([$user_id]);
|
|
$user = $stmt->fetch();
|
|
|
|
if (!$user) {
|
|
header('Location: users.php');
|
|
exit();
|
|
}
|
|
?>
|
|
|
|
<main class="container my-5">
|
|
<h1>Edit User: <?php echo htmlspecialchars($user['name']); ?></h1>
|
|
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<form action="user_actions.php" method="POST">
|
|
<input type="hidden" name="action" value="update">
|
|
<input type="hidden" name="user_id" value="<?php echo $user['id']; ?>">
|
|
|
|
<div class="mb-3">
|
|
<label for="name" class="form-label">Name</label>
|
|
<input type="text" class="form-control" id="name" name="name" value="<?php echo htmlspecialchars($user['name']); ?>" required>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label for="email" class="form-label">Email</label>
|
|
<input type="email" class="form-control" id="email" name="email" value="<?php echo htmlspecialchars($user['email']); ?>" required>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label for="role" class="form-label">Role</label>
|
|
<select class="form-select" id="role" name="role">
|
|
<option value="user" <?php echo ($user['role'] === 'user') ? 'selected' : ''; ?>>User</option>
|
|
<option value="admin" <?php echo ($user['role'] === 'admin') ? 'selected' : ''; ?>>Admin</option>
|
|
</select>
|
|
</div>
|
|
|
|
<button type="submit" class="btn btn-primary">Save Changes</button>
|
|
<a href="users.php" class="btn btn-secondary">Cancel</a>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
<?php require_once '../includes/footer.php'; ?>
|