File manager - Edit - /var/www/order.cmtc.ac.th/admin/index_2.php
Back
<?php session_start(); include('../config/db.php'); // ✅ สร้าง CAPTCHA ถ้ายังไม่มีใน session if (empty($_SESSION['captcha_code'])) { $_SESSION['captcha_code'] = strval(rand(10000, 99999)); } // ✅ เมื่อมีการส่งฟอร์ม if (isset($_POST['username'])) { $u = $_POST['username']; $p = md5($_POST['password']); $captcha_input = trim($_POST['captcha']); // ตรวจสอบ CAPTCHA if ($captcha_input !== $_SESSION['captcha_code']) { $error = "⚠️ รหัส CAPTCHA ไม่ถูกต้อง กรุณาลองใหม่อีกครั้ง"; $_SESSION['captcha_code'] = strval(rand(10000, 99999)); // สุ่มใหม่ } else { $res = $conn->query("SELECT * FROM users WHERE username='$u' AND password='$p'"); if ($res->num_rows > 0) { $data = $res->fetch_assoc(); $_SESSION['admin'] = $data['username']; $_SESSION['admin_fullname'] = $data['fullname']; $_SESSION['admin_id'] = $data['id']; $_SESSION['admin_role'] = $data['role']; unset($_SESSION['captcha_code']); // ลบ captcha เมื่อ login สำเร็จ header("Location: orders.php"); exit; } else { $error = "ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง"; $_SESSION['captcha_code'] = strval(rand(10000, 99999)); // สุ่มใหม่ } } } ?> <!DOCTYPE html> <html lang="th"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>เข้าสู่ระบบผู้ดูแลระบบ</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> <style> body { font-family: 'Kanit', sans-serif; background: linear-gradient(135deg, #6ea8fe, #1e90ff); min-height: 100vh; display: flex; align-items: center; justify-content: center; } .card { border-radius: 16px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); } .btn-primary { background: linear-gradient(45deg, #007bff, #00a6ff); border: none; transition: 0.3s; } .btn-primary:hover { background: linear-gradient(45deg, #0056b3, #007bff); } .btn-outline-light { border: 1px solid #007bff; color: #007bff; transition: 0.3s; } .btn-outline-light:hover { background: #007bff; color: #fff; } .captcha-box { display: flex; align-items: center; justify-content: space-between; background: #f8f9fa; border: 1px solid #ccc; border-radius: 8px; padding: 5px 10px; } .captcha-code { font-size: 24px; font-weight: bold; letter-spacing: 4px; color: #007bff; user-select: none; } .refresh-btn { background: none; border: none; font-size: 20px; color: #007bff; cursor: pointer; } .refresh-btn:hover { color: #0056b3; } @media (max-width: 576px) { .card { margin: 20px; } .captcha-code { font-size: 20px; } } </style> </head> <body> <div class="container"> <div class="row justify-content-center"> <div class="col-md-5 col-lg-4"> <div class="card p-4 shadow-lg bg-white"> <h4 class="text-center mb-3">🔐 เข้าสู่ระบบผู้ดูแล</h4> <?php if(isset($error)): ?> <div class="alert alert-danger text-center"><?=$error?></div> <?php endif; ?> <form method="post" autocomplete="off"> <div class="mb-3"> <label>ชื่อผู้ใช้</label> <input type="text" name="username" class="form-control" required autofocus> </div> <div class="mb-3"> <label>รหัสผ่าน</label> <input type="password" name="password" class="form-control" required> </div> <!-- ✅ CAPTCHA --> <div class="mb-3"> <label>กรอกรหัสยืนยัน (CAPTCHA)</label> <div class="captcha-box mt-1 mb-2"> <div class="captcha-code" id="captchaText"><?=$_SESSION['captcha_code']?></div> <button type="button" class="refresh-btn" onclick="refreshCaptcha()">🔄</button> </div> <input type="text" name="captcha" class="form-control" maxlength="5" placeholder="กรอกรหัสที่เห็นด้านบน" required> </div> <button type="submit" class="btn btn-primary w-100 py-2 mt-2">เข้าสู่ระบบ</button> <!-- 🔙 ปุ่มกลับหน้าแรก --> <div class="text-center mt-3"> <a href="../index.php" class="btn btn-outline-light w-100 py-2">⬅️ กลับหน้าแรก</a> </div> </form> </div> </div> </div> </div> <script> function refreshCaptcha() { fetch('refresh_captcha.php') .then(response => response.text()) .then(data => { document.getElementById('captchaText').textContent = data.trim(); }); } </script> </body> </html>
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.5 |
proxy
|
phpinfo
|
Settings