prepare("SELECT * FROM users WHERE email = ?"); $stmt->execute([$email]); $user = $stmt->fetch(); if ($user) { // User exists, log them in $_SESSION['user_id'] = $user['id']; $_SESSION['user_name'] = trim($user['first_name'] . ' ' . $user['last_name']); $_SESSION['is_admin'] = $user['is_admin']; } else { // User does not exist, create a new one $insertStmt = $pdo->prepare("INSERT INTO users (first_name, last_name, email, password, is_admin, created_at) VALUES (?, ?, ?, NULL, 0, NOW())"); $insertStmt->execute([$firstName, $lastName, $email]); $newUserId = $pdo->lastInsertId(); $_SESSION['user_id'] = $newUserId; $_SESSION['user_name'] = $fullName; $_SESSION['is_admin'] = 0; } header('Location: profile.php'); exit(); } catch (Throwable $t) { $error_message = 'Database error during Google auth processing: ' . $t->getMessage(); error_log($error_message); header('Location: login.php?error=db_error'); exit(); }