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