Show sourcecode
The following files exists in this folder. Click to view.
webbsrvprg/exercises/slutprojekt/
actions.php
administer_users.php
create_code.php
database_include.php
dbconnection.php
index.php
login copy.php
login.php
main.php
password_renewals.php
play copy.php
play.php
setup.php
sign_up.php
statistics.php
verification.php
verify_mail.php
administer_users.php
107 lines UTF-8 Windows (CRLF)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
session_start(["gc_maxlifetime" => 86400]);
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Administera användare</title>
<style>
fieldset {
margin: 5px;
padding: 5px;
border: 2px solid black;
}
* {
box-sizing: border-box;
}
</style>
</head>
<body>
<a href="main.php">Tillbaka till main</a>
<?php
try {
/** @var PDO $dbconn */
include("dbconnection.php");
$adminrequired = TRUE;
include("verification.php");
if (isset($_GET["id"])) {
// Om man vill ändra en användare
$user_id = $_GET["id"];
$sql = "SELECT * FROM bs_users WHERE id = ?";
$stmt = $dbconn->prepare($sql);
$data = [$user_id];
$stmt->execute($data);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
$checked_text_1 = $user["admin"] ? "checked" : "";
$checked_text_2 = $user["verified"] ? "checked" : "";
echo ('<form method="post" action="administer_users.php"><fieldset>
<legend>' . $user_id . '</legend>
<input type="hidden" value="' . $user_id . '" name="user_id">
<input type="text" value="' . $user["username"] . '" id="username" name="username" required><label for="username">Användarnamn (Har inte hunnnit verifiera att det är ledigt så håll koll)</label><br>
<input type="text" value="' . $user["name"] . '" id="name" name="name" required><label for="name">Namn</label><br>
<input type="mail" value="' . $user["mail"] . '" id="mail" name="mail" required><label for="mail">Mejl</label><br>
<input type="checkbox" ' . $checked_text_1 . ' id="admin" name="admin"><label for="admin">Admin?</label><br>
<input type="checkbox" ' . $checked_text_2 . ' kanske id="verified" name="verified"><label for="verified">Verifierad? (Klicka bort för att banna)</label><br>
<button type="submit">Genomför ändringar (Användaren kan loggas ut om den är inloggad just nu)</button>
</fieldset></form>');
}
if (isset($_POST["user_id"])) {
// Om man ska ändra en användare.
$user_id = $_POST["user_id"];
$username = $_POST["username"];
$name = $_POST["name"];
$mail = $_POST["mail"];
$admin = isset($_POST["admin"]) ? 1 : 0;
$verified = isset($_POST["verified"]) ? 1 : 0;
$sql = "UPDATE bs_users SET username = ?, name = ?, mail = ?, admin = ?, verified = ? WHERE id = ?";
$stmt = $dbconn->prepare($sql);
$data = [$username, $name, $mail, $admin, $verified, $user_id];
$stmt->execute($data);
}
$sql = "SELECT * FROM bs_users ORDER BY id";
$stmt = $dbconn->prepare($sql);
$stmt->execute();
echo ("<table><tr>
<th>ID</th>
<th>USERNAME</th>
<th>NAME</th>
<th>LAST CHECKIN</th>
<th>MAIL</th>
<th>ADMIN</th>
<th>VERIFIED</th>
</tr>");
while ($user = $stmt->fetch(PDO::FETCH_ASSOC)) {
// Printar ut alla users med en länk på id't så att man kan modifiera dem.
echo ("<tr>");
echo ('<td><a href="administer_users.php?id=' . $user["id"] . '">' . $user["id"] . '</a></td>');
echo ('<td>' . $user["username"] . '</td>');
echo ('<td>' . $user["name"] . '</td>');
echo ('<td>' . $user["last_checkin"] . '</td>');
echo ('<td>' . $user["mail"] . '</td>');
echo ('<td>' . $user["admin"] . '</td>');
echo ('<td>' . $user["verified"] . '</td>');
echo ("</tr>");
}
echo ("</table>");
} catch (PDOException $e) {
echo ($e->getMessage());
}
?>
</body>
</html>