update to use single html with dynamic div
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
<?php
|
||||
$databaseFile = '../mydatabase.db';
|
||||
|
||||
try {
|
||||
$db = new PDO("sqlite:" . $databaseFile);
|
||||
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
|
||||
// Check if the User table exists
|
||||
$result = $db->query("SELECT name FROM sqlite_master WHERE type='table' AND name='User'");
|
||||
$userTableExists = $result->fetchColumn();
|
||||
|
||||
if (!$userTableExists) {
|
||||
// Initialize the database structure
|
||||
$db->exec("
|
||||
CREATE TABLE User (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
vorname TEXT NOT NULL,
|
||||
nachname TEXT NOT NULL,
|
||||
username TEXT UNIQUE NOT NULL,
|
||||
password TEXT NOT NULL,
|
||||
active BOOLEAN DEFAULT 0
|
||||
)
|
||||
");
|
||||
|
||||
$db->exec("
|
||||
CREATE TABLE Restaurant (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT NOT NULL,
|
||||
maps_link TEXT
|
||||
)
|
||||
");
|
||||
|
||||
$db->exec("
|
||||
CREATE TABLE Bewertung (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
fk_user_id INTEGER NOT NULL,
|
||||
fk_restaurant_id INTEGER NOT NULL,
|
||||
bewertung INTEGER NOT NULL CHECK (bewertung BETWEEN 0 AND 10),
|
||||
bewertung_str TEXT,
|
||||
FOREIGN KEY (fk_user_id) REFERENCES User(id),
|
||||
FOREIGN KEY (fk_restaurant_id) REFERENCES Restaurant(id)
|
||||
)
|
||||
");
|
||||
|
||||
echo "<p style='color:green;'>Database structure created.</p>";
|
||||
|
||||
// Check if any users exist
|
||||
$checkUserStmt = $db->query("SELECT COUNT(*) FROM User");
|
||||
$userCount = $checkUserStmt->fetchColumn();
|
||||
|
||||
if ($userCount == 0) {
|
||||
// Create an initial admin account
|
||||
$adminVorname = 'Admin';
|
||||
$adminNachname = 'User';
|
||||
$adminUsername = 'admin';
|
||||
$adminPassword = 'admin123'; // IMPORTANT: Change this default password!
|
||||
$hashedPassword = password_hash($adminPassword, PASSWORD_DEFAULT);
|
||||
$adminActive = 2; // Let's use 2 to denote an admin user
|
||||
|
||||
$insertAdminStmt = $db->prepare("
|
||||
INSERT INTO User (vorname, nachname, username, password, active)
|
||||
VALUES (:vorname, :nachname, :username, :password, :active)
|
||||
");
|
||||
$insertAdminStmt->bindParam(':vorname', $adminVorname);
|
||||
$insertAdminStmt->bindParam(':nachname', $adminNachname);
|
||||
$insertAdminStmt->bindParam(':username', $adminUsername);
|
||||
$insertAdminStmt->bindParam(':password', $hashedPassword);
|
||||
$insertAdminStmt->bindParam(':active', $adminActive, PDO::PARAM_INT);
|
||||
|
||||
if ($insertAdminStmt->execute()) {
|
||||
echo "<p style='color:green;'>Initial admin account created: Username='admin', Password='admin123' (Please change immediately!).</p>";
|
||||
} else {
|
||||
echo "<p style='color:red;'>Error creating initial admin account: " . print_r($insertAdminStmt->errorInfo(), true) . "</p>";
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
// echo "<p style='color:blue;'>Database already exists.</p>";
|
||||
}
|
||||
|
||||
} catch (PDOException $e) {
|
||||
die("Database connection failed: " . $e->getMessage());
|
||||
}
|
||||
|
||||
function sanitize_input($data) {
|
||||
$data = trim($data);
|
||||
$data = stripslashes($data);
|
||||
$data = htmlspecialchars($data);
|
||||
return $data;
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user