Webbserverprogrammering 1

Show sourcecode

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

webbsrvprg/projekt/quiz/

account.php
admin_register.php
create_quiz.php
create_tables.php
index.php
login.php
nav.css
nav.php
quiz.php
quiz_select.php
register.php
result_details.php
result_simple.php
submit_create_quiz.php
submit_quiz.php

create_tables.php

72 lines UTF-8 Windows (CRLF)
<?php
include ('../../incl/dbconnect.php');

try {
    
$sql "CREATE TABLE IF NOT EXISTS users_quiz (
        id INT AUTO_INCREMENT PRIMARY KEY,
        namn VARCHAR(100) NOT NULL,
        username VARCHAR(50) NOT NULL,
        password VARCHAR(255) NOT NULL,
        senaste_inloggning DATETIME DEFAULT NULL,
        is_admin BOOLEAN DEFAULT 0
    ) "
;
    
$dbconn->exec($sql);
    echo 
"Table 'users_quiz' created successfully.<br>";

    
$sql "CREATE TABLE IF NOT EXISTS testinfo_quiz (
        id INT AUTO_INCREMENT PRIMARY KEY,
        titel VARCHAR(100) NOT NULL,
        beskrivning TEXT
    ) "
;
    
$dbconn->exec($sql);
    echo 
"Table 'testinfo_quiz' created successfully.<br>";

    
$sql "CREATE TABLE IF NOT EXISTS questions_quiz (
        id INT AUTO_INCREMENT PRIMARY KEY,
        test_id INT NOT NULL,
        fråga_text TEXT NOT NULL,
        FOREIGN KEY (test_id) REFERENCES testinfo_quiz(id) ON DELETE CASCADE
    ) "
;
    
$dbconn->exec($sql);
    echo 
"Table 'questions_quiz' created successfully.<br>";

    
$sql "CREATE TABLE IF NOT EXISTS answers_quiz (
        id INT AUTO_INCREMENT PRIMARY KEY,
        fråga_id INT NOT NULL,
        svar_text VARCHAR(255) NOT NULL,
        korrekt BOOLEAN DEFAULT 0,
        FOREIGN KEY (fråga_id) REFERENCES questions_quiz(id) ON DELETE CASCADE
    ) "
;
    
$dbconn->exec($sql);
    echo 
"Table 'answers_quiz' created successfully.<br>";

    
$sql "CREATE TABLE IF NOT EXISTS results_quiz (
        id INT AUTO_INCREMENT PRIMARY KEY,
        kund_id INT NOT NULL,
        test_id INT NOT NULL,
        poäng INT NOT NULL,
        datum DATETIME DEFAULT CURRENT_TIMESTAMP,
        FOREIGN KEY (kund_id) REFERENCES users_quiz(id) ON DELETE CASCADE,
        FOREIGN KEY (test_id) REFERENCES testinfo_quiz(id) ON DELETE CASCADE
    ) "
;
    
$dbconn->exec($sql);
    echo 
"Table 'results_quiz' created successfully.<br>";

    
$sql "CREATE TABLE IF NOT EXISTS user_answers_quiz (
        id INT AUTO_INCREMENT PRIMARY KEY,
        resultat_id INT NOT NULL,
        fråga_id INT NOT NULL,
        valt_svar_id INT NOT NULL,
        korrekt BOOLEAN DEFAULT 0,
        FOREIGN KEY (resultat_id) REFERENCES results_quiz(id) ON DELETE CASCADE,
        FOREIGN KEY (fråga_id) REFERENCES questions_quiz(id) ON DELETE CASCADE,
        FOREIGN KEY (valt_svar_id) REFERENCES answers_quiz(id) ON DELETE CASCADE
    ) "
;
    
$dbconn->exec($sql);
    echo 
"Table 'user_answers_quiz' created successfully.<br>";

} catch(
PDOException $e) {
    echo 
"Error creating tables: " $e->getMessage();
}
?>