2025-12-16 09:52:18 +07:00

35 lines
947 B
PHP

<?php
declare(strict_types=1);
session_start();
header('Content-Type: application/json; charset=utf-8');
$DB_HOST = '127.0.0.1';
$DB_NAME = 'space_odyssey';
$DB_USER = 'root';
$DB_PASS = '';
function json_out(int $status, array $data): void {
http_response_code($status);
echo json_encode($data, JSON_UNESCAPED_UNICODE);
exit;
}
try {
$dsn = "mysql:host={$DB_HOST};dbname={$DB_NAME};charset=utf8mb4";
$pdo = new PDO($dsn, $DB_USER, $DB_PASS, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
]);
} catch (Throwable $e) {
json_out(500, ['ok' => false, 'error' => 'DB connection failed']);
}
function current_user(PDO $pdo): ?array {
if (!isset($_SESSION['user_id'])) return null;
$stmt = $pdo->prepare('SELECT id, username, email, created_at FROM users WHERE id = ? LIMIT 1');
$stmt->execute([(int)$_SESSION['user_id']]);
$u = $stmt->fetch();
return $u ?: null;
}