File manager - Edit - /home/webapp69.cm.in.th/u69319090034/Shop 034/auth.php
Back
<?php // ไฟล์ตรวจสอบและจัดการสิทธิ์ผู้ใช้งาน (auth.php) if (session_status() === PHP_SESSION_NONE) { session_start(); } require_once 'config.php'; // ข้อมูล Admin แบบ fallback (กรณีไม่มีใน DB) define('ADMIN_USERNAME', 'admin'); define('ADMIN_PASSWORD_HASH', '$2y$10$Dby0YATf3hi28..YjESPoeyhAOX4tguTYcUJ8YUFJjPusYw07lCm6'); // รหัสผ่าน: admin1234 // ตรวจสอบว่ามีผู้ใช้งาน Log in อยู่หรือไม่ function isLoggedIn(): bool { return isset($_SESSION['user_id']) && !empty($_SESSION['user_id']); } // ดึงข้อมูล User ปัจจุบันที่ Log in function getCurrentUser(): ?array { if (!isLoggedIn()) return null; return [ 'id' => $_SESSION['user_id'], 'username' => $_SESSION['user_username'] ?? '', 'fullname' => $_SESSION['user_fullname'] ?? '', 'role' => $_SESSION['user_role'] ?? 'buyer', 'email' => $_SESSION['user_email'] ?? '' ]; } // ตรวจสอบว่าเป็น ผู้ดูแลระบบ (Admin) หรือไม่ function isAdminLoggedIn(): bool { if (isset($_SESSION['admin_logged_in']) && $_SESSION['admin_logged_in'] === true) { return true; } return isLoggedIn() && (($_SESSION['user_role'] ?? '') === 'admin'); } // ตรวจสอบว่าเป็น ผู้ขาย (Seller) หรือไม่ (Seller หรือ Admin ถือเป็นผู้ขายได้) function isSellerLoggedIn(): bool { if (isset($_SESSION['admin_logged_in']) && $_SESSION['admin_logged_in'] === true) { return true; } return isLoggedIn() && (in_array($_SESSION['user_role'] ?? '', ['seller', 'admin'])); } // ตรวจสอบว่าเป็น ผู้ซื้อ (Buyer) หรือไม่ function isBuyerLoggedIn(): bool { return isLoggedIn() && (($_SESSION['user_role'] ?? '') === 'buyer'); } // บังคับ Redirect สำหรับ Admin function requireAdminLogin(): void { if (!isAdminLoggedIn()) { $redirect = urlencode($_SERVER['REQUEST_URI']); header("Location: login.php?role=admin&redirect=$redirect"); exit; } } // บังคับ Redirect สำหรับ Seller function requireSellerLogin(): void { if (!isSellerLoggedIn()) { $redirect = urlencode($_SERVER['REQUEST_URI']); header("Location: login.php?role=seller&redirect=$redirect"); exit; } } // บังคับ Redirect สำหรับ Buyer function requireBuyerLogin(): void { if (!isLoggedIn()) { $redirect = urlencode($_SERVER['REQUEST_URI']); header("Location: login.php?role=buyer&redirect=$redirect"); exit; } } // ดึงชื่อผู้ใช้งาน function getAdminName(): string { if (isset($_SESSION['admin_name'])) return $_SESSION['admin_name']; if (isLoggedIn()) return $_SESSION['user_fullname'] ?? $_SESSION['user_username']; return 'ผู้ใช้งาน'; } // ตรวจสอบว่าสินค้าชิ้นนี้ถูกกดถูกใจโดยผู้ใช้งานคนนี้หรือไม่ function isProductLiked(int $productId): bool { global $conn; if (!isLoggedIn()) return false; try { $stmt = $conn->prepare("SELECT COUNT(*) FROM product_likes WHERE user_id = :user_id AND product_id = :product_id"); $stmt->execute([':user_id' => $_SESSION['user_id'], ':product_id' => $productId]); return $stmt->fetchColumn() > 0; } catch (PDOException $e) { return false; } } ?>
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.31 |
proxy
|
phpinfo
|
Settings