Webbserverprogrammering 1

Show sourcecode

The following files exists in this folder. Click to view.

webbsrvprg/exercises/quiz/

create_test.php
create_test_fuckingtrasig.php
hash.php
index.php
login.php
main.php
personal_results.php
setup.php
sign_up.php
test_correcting.php
tests.php
user_administration.php
verification.php

setup.php

80 lines UTF-8 Windows (CRLF)
<!DOCTYPE html>
<html lang="sv">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Setup</title>
  <link href="../../style/index.css" rel="stylesheet">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <?php
        
try {
            
/** @var PDO $dbconn */
            
include("../databaser/dbconnection.php");

            
// Tar bort alla gamla tables. Om jag kör setup så vill jag tömma dem. 
            
$sql "SHOW TABLES LIKE 'quiz_%';";
            
$result $dbconn->query($sql);
            while (
$row $result->fetch(PDO::FETCH_NUM)) {
                
$dbconn->exec("DROP TABLE " $row[0]);
            }

            
$sql ="
            CREATE TABLE IF NOT EXISTS quiz_users (
            id INT AUTO_INCREMENT PRIMARY KEY,
            name VARCHAR(100) NOT NULL,
            username VARCHAR(50) UNIQUE NOT NULL,
            password VARCHAR(255) NOT NULL,
            salt VARCHAR(100) NOT NULL,
            last_login DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
            admin BOOLEAN NOT NULL DEFAULT 0
            );"
;
            
$dbconn->exec($sql);


            
$sql ="
            CREATE TABLE IF NOT EXISTS quiz_results (
            id INT AUTO_INCREMENT PRIMARY KEY,
            test_id INT NOT NULL,
            user_id INT NOT NULL,
            result INT NOT NULL,
            answers VARCHAR (100),
            time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
            );"
;
            
$dbconn->exec($sql);


            
$sql ="
            CREATE TABLE IF NOT EXISTS quiz_tests (
            id INT AUTO_INCREMENT PRIMARY KEY,
            name VARCHAR(100) UNIQUE NOT NULL
            );"
;
            
$dbconn->exec($sql);


            
$sql ="
            CREATE TABLE IF NOT EXISTS quiz_questions (
            id INT AUTO_INCREMENT PRIMARY KEY,
            text VARCHAR(255) NOT NULL,
            correct INT NOT NULL,
            test_id INT NOT NULL
            );"
;
            
$dbconn->exec($sql);


            
$sql ="
            CREATE TABLE IF NOT EXISTS quiz_answers (
            id INT AUTO_INCREMENT PRIMARY KEY,
            text VARCHAR(255) NOT NULL,
            answer_num INT NOT NULL,
            question_id INT NOT NULL
            );"
;
            
$dbconn->exec($sql);

        } catch (
PDOException $e) {
            echo (
$e->getMessage());
        }
    
?>
</body>
</html>