Show sourcecode
The following files exists in this folder. Click to view.
public_html/exercises/quizproject/quiz/
createquiz.php
submission.php
submit_quiz.php
takequiz.php
viewquizzes.php
viewsubmissions.php
viewquizzes.php
93 lines UTF-8 Windows (CRLF)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
<?php
session_start();
// Auth så att användare är inloggad och/eller admin
$loggedIn = isset($_SESSION['logged_in']) && $_SESSION['logged_in'] == 1;
$isAdmin = isset($_SESSION['is_admin']) && $_SESSION['is_admin'] == 1;
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Quizzer | View Quiz</title>
<link rel="stylesheet" href="../quiz_styles.css">
<link rel="shortcut icon" href="../icons/dashboard-icon.svg" type="image/x-icon">
</head>
<body>
<div class="page page-narrow">
<?php if ($loggedIn): ?>
<div class="page-header">
<div>
<h1 class="page-title">Your Available Quizzes</h1>
<p class="page-subtitle">Pick a quiz to view submissions or take.</p>
</div>
<div class="actions">
<a class="btn btn-ghost" href="../index.php">← Back to dashboard</a>
</div>
</div>
<?php endif; ?>
<div class="quiz-container">
<?php
// Check auth
if (!$loggedIn || $loggedIn != 1) {
echo "<div class='alert alert-error'>Access denied. Please log in.</div>";
echo '<div class="actions"><a class="btn" href="../login.php">Log in -></a></div>';
exit;
}
include('../dbconnection.php');
if (!$dbconn) {
die("Connection failed: Can't connect to database.");
}
if (!$_SESSION['is_admin']) {
$user_id = $_SESSION['user_id'];
$sql = "SELECT * FROM quizzes WHERE owner_id = :user_id";
$stmt = $dbconn->prepare($sql);
$stmt->bindParam(':user_id', $user_id);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
} else {
$sql = "SELECT * FROM quizzes";
$stmt = $dbconn->prepare($sql);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
if (!$rows) {
echo "<div class='alert alert-warning'>No quizzes found! Return to dashboard to create one.</div>";
} else {
$user_id = $_SESSION['user_id'];
$sql = "SELECT username FROM users WHERE user_id = :user_id";
$stmt = $dbconn->prepare($sql);
$stmt->bindParam(':user_id', $user_id);
$stmt->execute();
$userResult = $stmt->fetch(PDO::FETCH_ASSOC);
$username = htmlentities($userResult['username']);
$output = "<table class='table'><caption>Your Quizzes:</caption>";
$output .= "<thead><tr><th>Quiz Name</th><th>Owner</th><th>Action</th></tr></thead><tbody>";
foreach ($rows as $res) {
// html entities för att förhindra bilder, länkas osv
$quizName = htmlentities($res['quiz_name']);
$quizId = (int)$res['quiz_id'];
$output .= "<tr>";
$output .= "<td>{$quizName}</td>";
$output .= "<td>{$username}</td>";
$output .= "<td><a class=\"btn btn-secondary\" href=\"takequiz.php?quiz_id={$quizId}\">Take Quiz -></a> <a class=\"btn btn-secondary\" href=\"viewsubmissions.php?quiz_id={$quizId}\">Submissions -></a></td>";
$output .= "</tr>";
}
$output .= "</tbody></table>";
echo $output;
}
$dbconn = null;
?>
</div>
</div>
</body>
</html>