Show sourcecode
The following files exists in this folder. Click to view.
public_html/crumbs/admin/users/
adduser.php
deleteuser.php
edituser.php
deleteuser.php
96 lines UTF-8 Windows (CRLF)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
<?php
$basePath = '../../';
$pageTitle = 'Ta bort Användare';
$activePage = 'deleteuser';
session_start();
if (!isset($_SESSION['is_admin']) || $_SESSION['is_admin'] != 1) {
header('Location: ../../login.php');
die();
}
include('../../dbconnection.php');
if (!$dbconn) {
die("Connection failed: Can't connect to database.");
}
$message = null;
$messageClass = 'alert-warning';
if (isset($_POST['user_id']) && !empty($_POST['user_id'])) {
$user_id = (int)$_POST['user_id'];
// SÄKERHET: Förhindra borttagning av admin-kontot (ID 1) på serversidan
// (klientsidans disabled-attribut kan kringgås)
if ($user_id === 1) {
$messageClass = 'alert-error';
$message = "Admin-kontot kan inte tas bort.";
} else {
try {
$sql = "DELETE FROM users WHERE user_id=?";
$stmt = $dbconn->prepare($sql);
$stmt->execute(array($user_id));
$messageClass = 'alert-success';
$message = "Användare borttagen.";
} catch (PDOException $e) {
// SÄKERHET: Visa inte detaljerade databasfel (kan avslöja intern information)
error_log("deleteuser error: " . $e->getMessage());
$messageClass = 'alert-error';
$message = "Ett databasfel uppstod. Försök igen senare.";
}
}
}
include('../../includes/header.php');
?>
<div class="page-header">
<div class="page-header-text">
<h1>Ta bort Användare</h1>
<p>Ta bort ett användarkonto från systemet.</p>
</div>
</div>
<div class="alert alert-warning">
<span class="material-symbols-rounded" style="font-size:18px">warning</span>
Alla beställningar kopplade till kontot tas bort. Detta kan ej ångras.
</div>
<?php if ($message): ?>
<div class="alert <?= $messageClass ?>"><?= $message ?></div>
<?php endif; ?>
<div class="card">
<h2><span class="material-symbols-rounded" style="font-size:20px; vertical-align:middle; margin-right:6px">group</span>Användare</h2>
<?php
$sql = "SELECT * FROM users";
$stmt = $dbconn->prepare($sql);
$stmt->execute();
$output = '<table class="table"><thead><tr><th>ID</th><th>Användarnamn</th><th>Admin</th><th></th></tr></thead><tbody>';
while ($res = $stmt->fetch(PDO::FETCH_ASSOC)) {
$idx = htmlentities($res['user_id']);
$username = htmlentities($res['username']);
$is_admin = $res['is_admin'] == 1 ? 'Ja' : 'Nej';
$output .= "<tr>" .
"<td>$idx</td>" .
"<td>$username</td>" .
"<td>$is_admin</td>" .
"<td><form method='post' action=''>" .
"<input type='hidden' name='user_id' value='$idx'>";
if ($idx == 1) {
$output .= "<button type='submit' disabled class='btn btn-danger btn-sm'><span class='material-symbols-rounded' style='font-size:16px'>delete</span> Ta bort</button></form></td></tr>";
} else {
$output .= "<button type='submit' class='btn btn-danger btn-sm'><span class='material-symbols-rounded' style='font-size:16px'>delete</span> Ta bort</button></form></td></tr>";
}
}
$output .= "</tbody></table>";
echo $output;
$dbconn = null;
?>
</div>
<?php include('../../includes/footer.php'); ?>