Show sourcecode
The following files exists in this folder. Click to view.
webbsrvprg/exercises/databaser/ovn_2/
admin.php
forminclude.php
index.php
welcome.php
admin.php
80 lines UTF-8 Windows (CRLF)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Admin</title>
<style>
table,
th,
td {
border: 1px solid black;
}
</style>
</head>
<body>
<h1>ADMINSIDA WOWWOWWOW</h1>
<?php
session_start();
// KOLLA LÖSEN
try {
/** @var PDO $dbconn */ // För att skitprogrammet ska fatta att $dbconn är fucking definerat
include("../dbconnection.php");
$sql = "SELECT * from users WHERE username=? and pass=?";
$info = array($_SESSION["username"], $_SESSION["pass"]);
$stmt = $dbconn->prepare($sql);
$stmt->execute($info);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$user || !$user["role"] == "admin") {
// Skicka tillbaka om ej inloggad eller ej admin
header("Location: index.php");
exit; // Fortsätter inte efter detta
}
// Annars kör på
if (isset($_GET["action"])) {
// Man ska göra något med en användare
if ($_GET["action"] == "add") {
$sql = "INSERT INTO users (f_name, s_name, username, pass, role) VALUES(?,?,?,?,?)";
$values = array($_GET["f_name"], $_GET["s_name"], $_GET["username"], $_GET["pass"], $_GET["role"]);
$stmt = $dbconn->prepare($sql);
$stmt->execute($values);
} else if (isset($_GET["deleteUser"])) {
$sql = "DELETE FROM users WHERE id = ?";
$stmt = $dbconn->prepare($sql);
$stmt->execute(array($_GET["execId"]));
} else {
// Annars bara ändrar man en användare
$sql = "UPDATE users SET f_name = ?, s_name = ?, username = ?, pass = ?, role= ?, lastchange = ? WHERE id = ?";
$values = array($_GET["f_name"], $_GET["s_name"], $_GET["username"], $_GET["pass"], $_GET["role"], time() ,$_GET["execId"]);
$stmt = $dbconn->prepare($sql);
$stmt->execute($values);
}
}
$sql = "SELECT * FROM users";
$info = $dbconn->query($sql);
// Jobbigt att läsa men printar ut toppraden för en tabell
echo ("<table><tr><th>ID</th><th>FÖRNAMN</th><th>EFTERNAMN</th><th>ANVÄNDARNAMN</th><th>LÖSENORD</th><th>ROLL</th><th>SENAST ÄNDRAD</th></tr>");
while ($rad = $info->fetch(PDO::FETCH_ASSOC)) {
// Printar ut en rad för den användaren
echo ("<tr><td> <a href=?id=" . $rad["id"] . ">" . $rad["id"] . "</td><td>" . $rad["f_name"] . "</td><td>" . $rad["s_name"] . "</td><td>" . $rad["username"] . "</td><td>" . $rad["pass"] . "</td><td>" . $rad["role"] . "</td><td>" . $rad["lastchange"] . "</td></tr>");
}
echo ("<tr><td> <a href=?id=new>ny</td></tr>");
echo ("</table>"); // Avslutar tabellen
if (isset($_GET["id"])) {
$userId = $_GET["id"];
include("forminclude.php"); // Formuläret för att ändra eller ta bort användare
}
} catch (PDOException $e) {
echo ($e->getMessage());
}
?>
</body>
</html>