File manager - Edit - /home/webapp69.cm.in.th/u69319090030/030 shop/login.php
Back
<?php require_once __DIR__ . '/config/db.php'; require_once __DIR__ . '/helpers/jwt_helper.php'; require_once __DIR__ . '/helpers/auth.php'; if (get_current_user_data()) { header("Location: index.php"); exit(); } $error = ''; $success = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $login_input = trim($_POST['login_input'] ?? ''); $password = $_POST['password'] ?? ''; if (empty($login_input) || empty($password)) { $error = 'กรุณากรอกข้อมูลให้ครบถ้วน'; } else { try { $stmt = $pdo->prepare("SELECT * FROM users WHERE username = ? OR email = ?"); $stmt->execute([$login_input, $login_input]); $user = $stmt->fetch(); if ($user && password_verify($password, $user['password'])) { if ($user['status'] !== 'approved') { $error = 'บัญชีของคุณถูกระงับการใช้งานชั่วคราว'; } else { $payload = [ 'id' => $user['id'], 'username' => $user['username'], 'email' => $user['email'], 'role' => $user['role'], 'status' => $user['status'] ]; $token = JWTHelper::encode($payload, JWT_SECRET); $_SESSION['auth_token'] = $token; setcookie('auth_token', $token, time() + 86400, '/', '', false, true); header("Location: index.php"); exit(); } } else { $error = 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง'; } } catch (PDOException $e) { $error = 'ระบบฐานข้อมูลขัดข้อง: ' . $e->getMessage(); } } } // 1-Click Demo Customer Login if (isset($_POST['demo_customer_login'])) { try { $stmt = $pdo->prepare("SELECT * FROM users WHERE role = 'customer' AND status = 'approved' LIMIT 1"); $stmt->execute(); $demoUser = $stmt->fetch(); if (!$demoUser) { $passHash = password_hash('123456', PASSWORD_DEFAULT); $stmtInsert = $pdo->prepare("INSERT INTO users (username, email, password, role, status) VALUES ('customer_demo', 'customer@cybershop.local', ?, 'customer', 'approved')"); $stmtInsert->execute([$passHash]); $demoUser = [ 'id' => $pdo->lastInsertId(), 'username' => 'customer_demo', 'email' => 'customer@cybershop.local', 'role' => 'customer', 'status' => 'approved' ]; } $payload = [ 'id' => $demoUser['id'], 'username' => $demoUser['username'], 'email' => $demoUser['email'], 'role' => $demoUser['role'], 'status' => $demoUser['status'] ]; $token = JWTHelper::encode($payload, JWT_SECRET); $_SESSION['auth_token'] = $token; setcookie('auth_token', $token, time() + 86400, '/', '', false, true); header("Location: index.php"); exit(); } catch (PDOException $e) { $error = 'เข้าสู่ระบบทดลองไม่สำเร็จ: ' . $e->getMessage(); } } ?> <!DOCTYPE html> <html lang="th"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CyberShop // เข้าสู่ระบบลูกค้า</title> <link rel="stylesheet" href="assets/css/style.css"> </head> <body style="display: flex; min-height: 100vh; align-items: center; justify-content: center; background: radial-gradient(circle at center, #0f0814 0%, #0d0d0d 100%);"> <div class="cyber-card" style="width: 100%; max-width: 450px;"> <div style="text-align: center; margin-bottom: 2rem;"> <a href="index.php" class="navbar-brand" style="justify-content: center; font-size: 2rem;"> CYBER<span class="brand-red">SHOP</span> </a> <p style="font-size: 0.9rem; letter-spacing: 2px; text-transform: uppercase; margin-top: 0.5rem; color: var(--text-gray);"> กรุณาระบุตัวตนเพื่อดำเนินการต่อ </p> </div> <?php if ($error): ?> <div class="cyber-alert cyber-alert-error"> <strong>[เข้าสู่ระบบไม่สำเร็จ]</strong> <?php echo htmlspecialchars($error); ?> </div> <?php endif; ?> <form action="" method="POST"> <div class="cyber-input-group"> <label class="cyber-label" for="login_input">ชื่อผู้ใช้งาน หรือ อีเมล</label> <input class="cyber-input" type="text" id="login_input" name="login_input" placeholder="กรอกชื่อบัญชี / อีเมล" required value="<?php echo htmlspecialchars($login_input ?? ''); ?>"> </div> <div class="cyber-input-group"> <label class="cyber-label" for="password">รหัสผ่านความปลอดภัย</label> <input class="cyber-input" type="password" id="password" name="password" placeholder="••••••••" required> </div> <button type="submit" class="btn-cyber" style="width: 100%; margin-top: 1rem;"> เข้าสู่ระบบเครือข่าย </button> </form> <form action="" method="POST" style="margin-top: 0.8rem;"> <button type="submit" name="demo_customer_login" value="1" class="btn-cyber btn-green" style="width: 100%; font-size: 0.85rem; box-shadow: 0 0 10px rgba(0, 255, 102, 0.2);"> ⚡ ทดลองเข้าชม & เลือกซื้อของในฐานะลูกค้า (1-Click Customer Demo) </button> </form> <div style="margin-top: 1.5rem; border-top: 1px solid var(--border-color); padding-top: 1.2rem; text-align: center;"> <div style="font-size: 0.95rem; color: #ffffff; margin-bottom: 0.8rem;"> ยังไม่ได้เป็นสมาชิก CyberGear ใช่ไหม? </div> <a href="register.php" class="btn-cyber btn-green" style="display: block; width: 100%; font-size: 0.95rem; padding: 0.75rem; text-align: center; text-decoration: none; box-shadow: 0 0 15px rgba(0, 255, 102, 0.25);"> ✨ สมัครสมาชิกลูกค้าใหม่ที่นี่ (Register Now) </a> </div> </div> </body> </html>
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.24 |
proxy
|
phpinfo
|
Settings