prepare("SELECT id, username, password FROM users WHERE email = ?"); $stmt->bind_param("s", $email); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows === 1) { $user = $result->fetch_assoc(); if (password_verify($password, $user['password'])) { // Set session variables $_SESSION['user_id'] = $user['id']; $_SESSION['username'] = $user['username']; $_SESSION['email'] = $email; // Set cookie if remember me is checked if ($remember) { $token = bin2hex(random_bytes(32)); $expires = time() + (86400 * 30); // 30 days // Store token in database $stmt = $conn->prepare("UPDATE users SET remember_token = ?, token_expires = ? WHERE id = ?"); $stmt->bind_param("ssi", $token, date('Y-m-d H:i:s', $expires), $user['id']); $stmt->execute(); // Set cookie setcookie('remember_token', $token, $expires, '/', '', true, true); } header("Location: dashboard.php"); exit(); } else { $login_error = "Ungültige E-Mail oder Passwort."; } } else { $login_error = "Ungültige E-Mail oder Passwort."; } } } // Check if user is already logged in via remember me cookie if (!isset($_SESSION['user_id']) && isset($_COOKIE['remember_token'])) { $token = $_COOKIE['remember_token']; $stmt = $conn->prepare("SELECT id, username, email FROM users WHERE remember_token = ? AND token_expires > NOW()"); $stmt->bind_param("s", $token); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows === 1) { $user = $result->fetch_assoc(); $_SESSION['user_id'] = $user['id']; $_SESSION['username'] = $user['username']; $_SESSION['email'] = $user['email']; header("Location: dashboard.php"); exit(); } } ?> Redaim - Login
Forgot password?
or