l202/nah.php

<?php // SQLite database setup (create a file named "database.db" in the same directory) $database = new SQLite3('database.db'); // Create a users table if it doesn't exist $database->exec('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT UNIQUE, password TEXT)'); // Initialize variables for error handling $usernameError = $passwordError = $loginError = ""; // Check if the form is submitted if ($_SERVER["REQUEST_METHOD"] == "POST") { // Get user input $enteredUsername = $_POST["username"]; $enteredPassword = $_POST["password"]; // Validate username if (empty($enteredUsername)) { $usernameError = "Please enter your username."; } // Validate password if (empty($enteredPassword)) { $passwordError = "Please enter your password."; } // If username and password are entered, attempt login if (!empty($enteredUsername) && !empty($enteredPassword)) { // Check if the entered credentials are valid $query = $database->prepare('SELECT * FROM users WHERE username = :username'); $query->bindValue(':username', $enteredUsername, SQLITE3_TEXT); $result = $query->execute(); $user = $result->fetchArray(); if ($user && password_verify($enteredPassword, $user['password'])) { // Redirect to a success page or perform other actions header("Location: page4.php"); exit(); } else { // Display login error $loginError = "Invalid username or password. Please try again."; } } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Sign In with SQLite Database</title> </head> <body> <h2>Sign In</h2> <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <p> <label for="username">Username:</label> <input type="text" name="username" id="username" value="<?php echo isset($_POST['username']) ? $_POST['username'] : ''; ?>"> <span style="color: red;"><?php echo $usernameError; ?></span> </p> <p> <label for="password">Password:</label> <input type="password" name="password" id="password"> <span style="color: red;"><?php echo $passwordError; ?></span> </p> <p> <span style="color: red;"><?php echo $loginError; ?></span> </p> <p> <input type="submit" value="Sign In"> </p> </form> </body> </html>

Resultaat

Made by Thijs Aarnoudse