exec("CREATE TABLE IF NOT EXISTS visitor_counter ( id INT PRIMARY KEY DEFAULT 1, count INT NOT NULL DEFAULT 0 )"); $check_stmt = $pdo->prepare("SELECT COUNT(*) FROM visitor_counter WHERE id = 1"); $check_stmt->execute(); if ($check_stmt->fetchColumn() == 0) { $pdo->exec("INSERT INTO visitor_counter (id, count) VALUES (1, 0)"); } } catch (PDOException $e) { // ข้ามกรณีติดขัดการเชื่อมต่อ / สิทธิ์ในการจัดการตาราง } // ตรวจสอบและสร้างคอลัมน์ status ในตาราง learning_resources หากยังไม่มี (Self-healing Column Migration) try { $stmt_check = $pdo->query("SHOW COLUMNS FROM learning_resources LIKE 'status'"); if (!$stmt_check->fetch()) { $pdo->exec("ALTER TABLE learning_resources ADD COLUMN status VARCHAR(50) DEFAULT 'approved'"); } } catch (PDOException $e) { // ข้ามในกรณีเกิดข้อผิดพลาด } // นับยอดเข้าชมในระบบเมื่อเซสชันเปิดหน้าเว็บครั้งแรก if (!isset($_SESSION['web_visited'])) { $_SESSION['web_visited'] = true; try { $pdo->exec("UPDATE visitor_counter SET count = count + 1 WHERE id = 1"); } catch (PDOException $e) { } } // ดึงยอดผู้เข้าชมปัจจุบัน try { $visitor_count = (int)$pdo->query("SELECT count FROM visitor_counter WHERE id = 1")->fetchColumn(); } catch (PDOException $e) { $visitor_count = 0; } // ดึงตัวแปรการนำทางแบบ Server-Side จาก GET (ค่าเริ่มต้นคือ dashboard) $view = isset($_GET['view']) ? trim($_GET['view']) : 'dashboard'; $allowed_views = ['dashboard', 'directory', 'activities', 'knowledge', 'statistics', 'about']; if (!in_array($view, $allowed_views)) { $view = 'dashboard'; } // Fetch settings $settings = $pdo->query("SELECT * FROM system_settings WHERE id=1")->fetch(); $platform_name = $settings['platform_name'] ?? 'แพลตฟอร์มแหล่งเรียนรู้'; ?>