PDO::ERRMODE_EXCEPTION] ); $stmt = $pdo->prepare('SELECT * FROM users WHERE username = ? LIMIT 1'); $stmt->execute([$username]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if ($user && password_verify($password, $user['password_hash'])) { $token = bin2hex(random_bytes(32)); $_SESSION['jarvis_token'] = $token; $_SESSION['jarvis_user_id'] = $user['id']; $_SESSION['jarvis_name'] = $user['display_name']; $pdo->prepare('UPDATE users SET last_seen = NOW() WHERE id = ?')->execute([$user['id']]); // Cookie lets index.html JS pick up the token and put it in sessionStorage setcookie('j_tk', $token, 0, '/', '', true, false); header('Location: /bridge.php'); exit; } else { $error = 'ACCESS DENIED'; } } catch (Exception $e) { $error = 'DATABASE ERROR'; } } else { $error = 'ENTER CREDENTIALS'; } } ?>
Just A Rather Very Intelligent System