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)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
<!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>