File manager - Edit - /home/webapp69.cm.in.th/u69319090014/shop non 014/login.php
Back
<?php // login.php - Cyberpunk User Authentication Login Page session_start(); require_once 'db.php'; $error = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = isset($_POST['username']) ? trim($_POST['username']) : ''; $password = isset($_POST['password']) ? $_POST['password'] : ''; if ($username === '' || $password === '') { $error = 'กรุณากรอกชื่อผู้ใช้และรหัสผ่าน'; } else { try { // Fetch user record by username using prepared statement $stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username"); $stmt->execute([':username' => $username]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if ($user && password_verify($password, $user['password_hash'])) { // Set Session variables $_SESSION['user_id'] = $user['id']; $_SESSION['username'] = $user['username']; $_SESSION['role'] = $user['role']; // Route based on user role if ($user['role'] === 'admin') { header("Location: admin.php"); } else { header("Location: index.php"); } exit; } else { $error = 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง'; } } catch (Exception $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>MEMBER ACCESS - NON LUXURY</title> <!-- Google Fonts --> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700;800;900&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300&family=Sarabun:wght@300;400;500;600;700&family=Montserrat:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Tailwind CSS CDN --> <script src="https://cdn.tailwindcss.com"></script> <script> tailwind.config = { theme: { extend: { colors: { cyber: { bg: '#0A0A0B', // Matte Deep Black card: '#121215', // Warm charcoal card accent: '#D4AF37', // Elegant Satin Gold accentGlow: '#E5C158',// Brighter Champagne Gold success: '#94A89A', // Premium Muted Sage Green danger: '#A94444', // Luxury Wine Red border: '#22211E' // Subtle gold-tinted grey border } }, fontFamily: { sans: ['Sarabun', 'Montserrat', 'sans-serif'], cyber: ['Cinzel', 'Cormorant Garamond', 'Sarabun', 'serif'] } } } } </script> <style> body { background-color: #0A0A0B; color: #EAE6DF; background-image: radial-gradient(circle at 50% 30%, #171512 0%, #0A0A0B 70%); } .neon-text-purple { text-shadow: 0 0 5px #D4AF37, 0 0 10px rgba(212, 175, 55, 0.4); } .neon-border-active:focus { border-color: #D4AF37; box-shadow: 0 0 10px rgba(212, 175, 55, 0.3); } .cyber-btn-glow:hover { box-shadow: 0 0 15px rgba(212, 175, 55, 0.4); } </style> <!-- Multi-language Support --> <script src="lang.js"></script> </head> <body class="min-h-screen flex flex-col items-center justify-center p-6 relative"> <!-- Language Selector Floating Top Right --> <div class="absolute top-6 right-6 flex items-center gap-1.5 bg-cyber-card border border-cyber-border px-3 py-1.5 rounded-lg shadow-xl z-50"> <span class="text-xs text-stone-500">🌐</span> <select id="lang-selector" class="bg-transparent text-xs text-stone-300 outline-none cursor-pointer focus:text-cyber-accent"> <option value="th">TH / ไทย</option> <option value="en">EN / English</option> <option value="zh">ZH / 中文</option> <option value="ja">JA / 日本語</option> <option value="ko">KO / 한국어</option> </select> </div> <div class="max-w-md w-full bg-cyber-card border border-cyber-border rounded-2xl p-8 shadow-2xl relative overflow-hidden"> <!-- Background glows --> <div class="absolute -top-10 -right-10 w-32 h-32 bg-cyber-accent opacity-10 rounded-full blur-3xl"></div> <div class="absolute -bottom-10 -left-10 w-32 h-32 bg-[#A94444] opacity-5 rounded-full blur-3xl"></div> <!-- Header --> <div class="text-center mb-8"> <div class="w-14 h-14 rounded-full bg-gradient-to-br from-cyber-accent/20 to-cyber-border flex items-center justify-center shadow-lg border border-cyber-accent/40 mx-auto mb-4"> <svg class="w-6 h-6 text-cyber-accent" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"></path> </svg> </div> <h1 class="font-cyber font-medium text-xl tracking-[0.35em] uppercase text-white"> N O N L U X U R Y </h1> <p class="text-[9px] text-amber-400 font-serif tracking-[0.2em] uppercase mt-2" data-lang-key="secure_salon">SECURE MEMBER SALON // ENTER CREDENTIALS</p> <p class="text-[11px] text-stone-400 italic font-serif mt-4 select-none leading-relaxed border-t border-cyber-border/40 pt-3 px-2" data-lang-key="login_quote"> "เงินซื้อความสุขไม่ได้... แต่ซื้อของที่ทำให้มีความสุขได้ทุกอย่าง" </p> </div> <!-- Alerts --> <?php if ($error !== ''): ?> <div class="bg-[#211516] border border-cyber-danger text-stone-300 text-xs px-4 py-3 rounded-xl mb-6 flex items-center gap-2.5"> <span class="text-cyber-danger">✕</span> <span><?php echo htmlspecialchars($error); ?></span> </div> <?php endif; ?> <!-- Login Form --> <form action="login.php" method="POST" class="space-y-5 text-sm"> <!-- Username --> <div class="space-y-1.5"> <label class="text-[9px] font-sans tracking-wider uppercase text-amber-100/60 font-bold block" data-lang-key="username_label">ชื่อผู้ใช้ / MEMBER ACCOUNT</label> <input type="text" name="username" required placeholder="ระบุชื่อผู้ใช้งาน" data-lang-key="username_placeholder" class="w-full bg-[#0A0A0B] border border-cyber-border rounded-lg px-4 py-2.5 text-white outline-none neon-border-active transition font-sans"> </div> <!-- Password --> <div class="space-y-1.5"> <label class="text-[9px] font-sans tracking-wider uppercase text-amber-100/60 font-bold block" data-lang-key="password_label">รหัสผ่าน / ACCOUNT PASSWORD</label> <input type="password" name="password" required placeholder="ป้อนรหัสผ่านของคุณ" data-lang-key="password_placeholder" class="w-full bg-[#0A0A0B] border border-cyber-border rounded-lg px-4 py-2.5 text-white outline-none neon-border-active transition font-sans"> </div> <!-- Submit --> <button type="submit" data-lang-key="btn_sign_in" class="w-full bg-cyber-accent hover:bg-cyber-accentGlow text-black font-cyber font-semibold tracking-[0.2em] py-3 rounded-lg transition duration-300 cyber-btn-glow mt-4"> SIGN IN // ENTER SALON </button> </form> <!-- Credentials Helper Box --> <div class="mt-6 p-4 bg-[#111113] border border-cyber-border rounded-xl text-[11px] space-y-2 text-stone-400 font-sans"> <span class="text-cyber-accent font-serif tracking-wider uppercase block" data-lang-key="demo_account">บัญชีทดสอบระบบสำเร็จรูป</span> <div class="grid grid-cols-2 gap-2 text-[10px] font-mono border-t border-cyber-border/40 pt-2"> <div> <p class="text-stone-500 uppercase text-[9px]">Administrator</p> <p class="text-stone-300 font-bold">User: <span class="text-white">admin</span></p> <p class="text-stone-300 font-bold">Pass: <span class="text-cyber-accent">admin1234</span></p> </div> <div> <p class="text-stone-500 uppercase text-[9px]">VIP Member</p> <p class="text-stone-300 font-bold">User: <span class="text-white">customer</span></p> <p class="text-stone-300 font-bold">Pass: <span class="text-cyber-accent">customer1234</span></p> </div> </div> </div> <!-- Redirect to Register --> <div class="text-center mt-6 pt-4 border-t border-cyber-border/40 text-xs"> <span class="text-stone-400" data-lang-key="no_account">ยังไม่มีบัญชีผู้ใช้งาน?</span> <a href="register.php" class="text-cyber-accent hover:text-white font-bold ml-1 transition" data-lang-key="register_here">สมัครสมาชิกใหม่ที่นี่</a> </div> </div> </body> </html>
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.26 |
proxy
|
phpinfo
|
Settings