PHP-Quellcode
- <?php
- // Database connection settings
- $host = "localhost";
- $username = "root";
- $password = "";
- $dbname = "meinedatenbank";
- // Create connection
- $conn = mysqli_connect($host, $username, $password, $dbname);
- // Check connection
- if (!$conn) {
- die("Connection failed: " . mysqli_connect_error());
- }
- // Check if form submitted
- if ($_SERVER['REQUEST_METHOD'] == 'POST') {
- // Collect form data
- $username = $_POST['username'];
- $password = $_POST['password'];
- $user_id = $_POST['user_id'];
- // Prepare SQL statement with placeholders
- $stmt = mysqli_prepare($conn, "SELECT user_id, password FROM users WHERE username = ?");
- // Bind parameters to statement
- mysqli_stmt_bind_param($stmt, "s", $username);
- // Execute statement
- mysqli_stmt_execute($stmt);
- // Get result
- mysqli_stmt_bind_result($stmt, $user_id, $hashed_password);
- // Check if user exists and password is correct
- if (mysqli_stmt_fetch($stmt) && password_verify($password, $hashed_password)) {
- // Redirect to main page and store user_id in session
- session_start();
- $_SESSION['user_id'] = $user_id;
- header("Location: main.php");
- exit();
- }
- } else {
- echo "Invalid username or password";
- // Close statement
- mysqli_stmt_close($stmt);
- // Close database connection
- mysqli_close($conn);
- }
- ?>
servus, der code funktioniert lokal aber nicht online.
Wenn ich online einen login versuche, erscheint die gezeigte seite einfach weiß. Lade ich sie nochmal neu, erscheint die Fehlermeldung aus Zeile 46.
Zuvor erfolgt eine Registrierung mit gehashten passwort, die auch funktioniert aber das login funktioniert eben nicht.
hat jemand eine Idee