Webbserverprogrammering 1

Show sourcecode

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

webbsrvprg/projekt/slutprojekt/

board_random.php
board_travel.php
board_vgy.php
create_comment.php
create_post.php
create_tables.php
darkmode.js
fetch_comments.php
fetch_posts.php
fetch_posts_random.php
forgot_password.php
index.php
login.php
nav.css
nav.php
post.php
register.php
reset_password.php
sql_inject.php
verify.php

create_tables.php

62 lines ASCII Windows (CRLF)
<?php
include ('../../incl/dbconnect.php');

try {
    
// skapa Users-tabellen
    
$sql_users "CREATE TABLE IF NOT EXISTS Users_slutprojekt (
        user_id INT AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(50) NOT NULL UNIQUE,
        password VARCHAR(255) NOT NULL,
        email VARCHAR(100) NOT NULL UNIQUE,
        is_admin TINYINT(1) DEFAULT 0,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        email_verified TINYINT(1) DEFAULT 0,
        email_verification_token VARCHAR(32) DEFAULT NULL,
        password_reset_token VARCHAR(32) DEFAULT NULL,
        password_reset_expires DATETIME DEFAULT NULL
    ) 
    
    "
;
    
$dbconn->exec($sql_users);
    echo 
"Tabellen 'Users_slutprojekt' skapades eller existerar redan.<br>";

    
// skapa Boards-tabellen
    
$sql_boards "CREATE TABLE IF NOT EXISTS Boards_slutprojekt (
        board_id INT AUTO_INCREMENT PRIMARY KEY,
        board_name VARCHAR(50) NOT NULL UNIQUE
    )"
;
    
$dbconn->exec($sql_boards);
    echo 
"Tabellen 'Boards_slutprojekt' skapades eller existerar redan.<br>";

    
// skapa Posts-tabellen
    
$sql_posts "CREATE TABLE IF NOT EXISTS Posts_slutprojekt (
        post_id INT AUTO_INCREMENT PRIMARY KEY,
        board_id INT NOT NULL,
        user_id INT NOT NULL,
        content TEXT,
        image_url VARCHAR(255),
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        FOREIGN KEY (board_id) REFERENCES Boards_slutprojekt(board_id) ON DELETE CASCADE,
        FOREIGN KEY (user_id) REFERENCES Users_slutprojekt(user_id) ON DELETE CASCADE
    )"
;
    
$dbconn->exec($sql_posts);
    echo 
"Tabellen 'Posts_slutprojekt' skapades eller existerar redan.<br>";

    
// skapa Comments-tabellen
    
$sql_comments "CREATE TABLE IF NOT EXISTS Comments_slutprojekt (
        comment_id INT AUTO_INCREMENT PRIMARY KEY,
        post_id INT NOT NULL,
        user_id INT NOT NULL,
        content TEXT,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        FOREIGN KEY (post_id) REFERENCES Posts_slutprojekt(post_id) ON DELETE CASCADE,
        FOREIGN KEY (user_id) REFERENCES Users_slutprojekt(user_id) ON DELETE CASCADE
    )"
;
    
$dbconn->exec($sql_comments);
    echo 
"Tabellen 'Comments_slutprojekt' skapades eller existerar redan<br>";

} catch (
PDOException $e) {
    echo 
"Fel vid skapande av tabeller: " $e->getMessage();
}
?>