Show sourcecode
The following files exists in this folder. Click to view.
admin.php
fetch_car_things.php
fetch_kompisar.php
fetch_users.php
mysql1.php
mysql2.php
mysql3.php
mysql3_satt_att_sortera.php
mysql3car.php
mysql3garage.php
mysql3owner.php
welcome.php
admin.php
193 lines UTF-8 Windows (CRLF)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Adminsida</title>
<style>
.hidden {
display: none;
}
table {
border: 1px solid black;
}
</style>
</head>
<body>
<?php
$SQLop = isset($_POST['SQLop']) ? $_POST['SQLop'] : "update";
$id = isset($_POST['id']) ? $_POST['id'] : null;
$username = isset($_POST['username']) ? $_POST['username'] : null;
$user_type = isset($_POST['user_type']) ? $_POST['user_type'] : null;
// username is used for queries, need separate variable for admin name
if (!isset($_SESSION['admin_username']) || $_SESSION['admin_username'] == "") {$_SESSION['admin_username'] = $_POST['username'];}
include('../../incl/dbconnection.php');
/**
* @var PDO $dbconn
*/
if (!is_null($id)) {
try {
$sqlSelect = "SELECT * FROM users WHERE id=?";
$sqlUpdate = "UPDATE users
SET username=?, user_type=?
WHERE id=?";
$sqlDelete = "DELETE FROM users
WHERE id=?";
if ($SQLop == "update") {
$stmt = $dbconn->prepare($sqlSelect);
$stmt->execute([$id]);
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if ($row) {
$username = $username ? $username : $row["username"];
$user_type = $user_type ? $user_type : $row["user_type"];
}
$updateStmt = $dbconn->prepare($sqlUpdate);
$data = array($username, $user_type, $id);
$updateStmt->execute($data);
echo "Användarinformation för id $id uppdaterad!";
} elseif ($SQLop == "delete") {
$stmt = $dbconn->prepare($sqlDelete);
$stmt->execute(array($id));
echo "Användaren med id $id borttagen!";
}
} catch (PDOException $e) {
echo "<br>" . $e->getMessage();
}
$dbconn = null;
}
unset($_POST);
?>
<h1>
<?php
if (isset($_SESSION['admin_username'])) {
echo "Välkommen, " . $_SESSION['admin_username'];
}
else {
echo "Välkommen";
}
?>
</h1>
<p>YEAH ADMIN LETS GO!!!!</p>
<p>Utöver det händer inte mycket här</p>
<h2>Adminpanel</h2>
<form method="post" action="">
<table>
<tr>
<td>Läge:</td>
<td>
<select name="SQLop" id="SQLop">
<option value="update">Uppdatera</option>
<option value="delete">Ta bort</option>
</select>
</td>
</tr>
<tr id="idRow">
<td>id*:</td>
<td><input type="number" id="idInput" name="id" required>
</tr>
<tr id="usernameRow">
<td>
<p>Användarnamn:</p>
</td>
<td><input type="text" name="username" size=40 maxlength=100>
</td>
</tr>
<tr id="userTypeRow">
<td>Användartyp:</td>
<td><input type="text" name="user_type" size=40 maxlength=100 placeholder="Noob, Pro, Hacker eller Admin">
</td>
</tr>
<tr id="infoRow">
<td>* = obligatoriskt</td>
</tr>
<tr>
<td><button type="submit" id="submitButton">Uppdatera</button></td>
<td><button type="button" id="showButton">Visa tabell</button></td>
</tr>
</table>
</form>
<!-- This div will hold the table we fetch from the database -->
<div id="tableContainer"></div>
<script>
let selector = document.getElementById("SQLop")
rows = {
"idRow": document.getElementById("idRow"),
"usernameRow": document.getElementById("usernameRow"),
"userTypeRow": document.getElementById("userTypeRow")
}
selector.addEventListener('change', (event) => {
let value = event.target.value;
switch (value) {
case "update": {
rows["idRow"].classList.remove("hidden")
rows["usernameRow"].classList.remove("hidden")
rows["userTypeRow"].classList.remove("hidden")
submitButton.innerText = "Uppdatera"
break
}
case "delete": {
rows["idRow"].classList.remove("hidden")
rows["usernameRow"].classList.add("hidden")
rows["userTypeRow"].classList.add("hidden")
submitButton.innerText = "Ta bort"
break
}
}
});
// Show items in table by clicking button
showButton.addEventListener("click", async () => {
try {
const response = await fetch('fetch_users.php');
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
const tableContainer = document.getElementById("tableContainer");
if (data.length === 0) {
tableContainer.innerHTML = `<p>Tabellen är tom.</p>`
}
console.log(data)
// Build the table HTML
let tableHTML = '<h2>Users</h2><table border="1"><thead><tr><th>ID</th><th>Username</th><th>Password</th><th>User_type</th><th>Last_login</th></tr></thead><tbody>';
data.forEach(row => {
tableHTML += `<tr>
<td>${row.id}</td>
<td>${row.username}</td>
<td>${row.password}</td>
<td>${row.user_type}</td>
<td>${row.last_login}</td>
</tr>`;
});
tableHTML += '</tbody></table>';
tableContainer.innerHTML = tableHTML;
}catch (error) {
console.error('Kunde inte hämta tabelldata:', error);
document.getElementById('tableContainer').innerHTML = '<p>Ett fel uppstod vid hämtning av data.</p>';
}
});
</script>
</body>
</html>