Webbserverprogrammering 1

Show sourcecode

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

webbsrvprg/exercises/slutprojekt/

actions.php
administer_users.php
create_code.php
index.php
login copy.php
login.php
main.php
password_renewals.php
setup.php
sign_up.php
verification.php
verify_mail.php

setup.php

111 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

    ini_set
('display_errors'1);
    
ini_set('display_startup_errors'1);
    
error_reporting(E_ALL);

    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 'bs_%';";
        
$result $dbconn->query($sql);
        while (
$row $result->fetch(PDO::FETCH_NUM)) {
            
$dbconn->exec("DROP TABLE " $row[0]);
        }

        
$sql "
            CREATE TABLE bs_users (
            id INT(10) AUTO_INCREMENT PRIMARY KEY,
            username VARCHAR(100) UNIQUE NOT NULL,
            name VARCHAR(100) NOT NULL,
            password VARCHAR(255) NOT NULL,
            last_checkin DATETIME DEFAULT CURRENT_TIMESTAMP,
            mail VARCHAR(100) UNIQUE NOT NULL,
            admin BOOLEAN DEFAULT 0,
            verified BOOLEAN DEFAULT 0
            );"
;
        
$dbconn->exec($sql);

        
$sql "
            CREATE TABLE bs_relations (
            id_1 INT(10) NOT NULL,
            id_2 INT(10) NOT NULL
            );"
;
        
$dbconn->exec($sql);

        
$sql "
            CREATE TABLE bs_que (
            id INT(10) AUTO_INCREMENT PRIMARY KEY,
            user_id INT(10) NOT NULL,
            scope VARCHAR(100) NOT NULL,
            last_checkin DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
            );"
;
        
$dbconn->exec($sql);

        
$sql "
            CREATE TABLE bs_logs (
            id INT(10) AUTO_INCREMENT PRIMARY KEY,
            user_id_1 INT(10) NOT NULL,
            user_id_2 INT(10) NOT NULL,
            finished DATETIME DEFAULT CURRENT_TIMESTAMP,
            winner INT(10),
            user_1_placement VARCHAR(1000) NOT NULL,
            user_2_placement VARCHAR(1000) NOT NULL
            );"
;
        
$dbconn->exec($sql);

        
$sql "
            CREATE TABLE bs_moves (
            match_id INT(10) NOT NULL,
            user_id INT(10) NOT NULL,
            target VARCHAR(100) NOT NULL
            );"
;
        
$dbconn->exec($sql);

        
$sql "
            CREATE TABLE bs_ongoing (
            id INT(100) AUTO_INCREMENT PRIMARY KEY,
            user_1_id INT(10) NOT NULL,
            user_2_id INT(10) NOT NULL,
            user_1_placements VARCHAR(1000) NOT NULL,
            user_2_placements VARCHAR(1000) NOT NULL
            );"
;
        
$dbconn->exec($sql);

        
$sql "
            CREATE TABLE bs_verifications (
            user_id INT(10) NOT NULL,
            code INT(10) NOT NULL,
            time_sent DATETIME DEFAULT CURRENT_TIMESTAMP
            );"
;
        
$dbconn->exec($sql);

        
$sql "
            CREATE TABLE bs_password_renewals (
            user_id INT(10) NOT NULL,
            code INT(10) NOT NULL,
            password VARCHAR(255) NOT NULL,
            time_sent DATETIME DEFAULT CURRENT_TIMESTAMP
            );"
;
        
$dbconn->exec($sql);
    } catch (
PDOException $e) {
        echo (
$e->getMessage());
    }
    
?>
</body>

</html>