Gestionnaire de fichiers - Editer - /home/kridsana/webapp.cm.in.th/663012801/u66301280015/Final/activity_attendance.php
Arrière
<?php session_start(); require_once 'config/database.php'; // ตรวจสอบการล็อกอินและสิทธิ์ admin if (!isset($_SESSION['user_id']) || $_SESSION['role'] !== 'admin') { header('Location: Login'); exit(); } // สร้างการเชื่อมต่อฐานข้อมูล $database = new Database(); $db = $database->getConnection(); $activityManager = new ActivityManager($db); // จัดการการส่งฟอร์ม if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['action'])) { switch ($_POST['action']) { case 'add': $is_mandatory = isset($_POST['is_mandatory']) ? 1 : 0; $activityManager->addActivity( $_POST['name'], $_POST['description'], $_POST['start_datetime'], $_POST['end_datetime'], $is_mandatory ); break; case 'delete': $activityManager->deleteActivity($_POST['activity_id']); break; case 'update': $is_mandatory = isset($_POST['is_mandatory']) ? 1 : 0; $activityManager->updateActivity( $_POST['activity_id'], $_POST['name'], $_POST['description'], $_POST['start_datetime'], $_POST['end_datetime'], $is_mandatory ); break; } // รีเฟรชหน้าเพื่อแสดงการเปลี่ยนแปลง header('Location: ' . $_SERVER['PHP_SELF']); exit(); } } // ดึงข้อมูลกิจกรรมทั้งหมด $activities = $activityManager->getAllActivities(); ?> <!DOCTYPE html> <html lang="th"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ระบบเช็คชื่อเข้ากิจกรรม</title> <link href="https://fonts.googleapis.com/css2?family=K2D:wght@300;400;500;600&display=swap" rel="stylesheet"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" href="./Css/style.css"> </head> <body> <!-- Navbar --> <nav class="navbar"> <div class="nav-containercd"> <a href="Admin_Page.php" class="nav-brand">ระบบจัดการ</a> <div class="nav-menucd"> <a href="student_attendance.php" class="nav-link">ระบบเช็คชื่อนักเรียน</a> <a href="student_attendance_report.php" class="nav-link">รายงานผลการเช็คชื่อ</a> <a href="activity_attendance.php" class="nav-link active">ระบบเช็คชื่อเข้ากิจกรรม</a> <a href="Logout.php" class="nav-link" style="background-color: #e74c3c;">ออกจากระบบ</a> </div> </div> </nav> <!-- Dashboard Content --> <div class="container mt-4"> <h2>=======</h2> <!-- การ์ดเพิ่มกิจกรรมใหม่ --> <div class="card mb-4"> <div class="card-header"> <h5 class="mb-0">เพิ่มกิจกรรมใหม่</h5> </div> <div class="card-body"> <form method="POST"> <input type="hidden" name="action" value="add"> <div class="row"> <div class="col-md-6 mb-3"> <label class="form-label">ชื่อกิจกรรม</label> <input type="text" class="form-control" name="name" required> </div> <div class="col-md-6 mb-3"> <label class="form-label">รายละเอียด</label> <textarea class="form-control" name="description" rows="1"></textarea> </div> </div> <div class="row"> <div class="col-md-6 mb-3"> <label class="form-label">วันเวลาเริ่มต้น</label> <input type="datetime-local" class="form-control" name="start_datetime" required> </div> <div class="col-md-6 mb-3"> <label class="form-label">วันเวลาสิ้นสุด</label> <input type="datetime-local" class="form-control" name="end_datetime" required> </div> </div> <div class="mb-3"> <div class="form-check"> <input type="checkbox" class="form-check-input" name="is_mandatory" id="is_mandatory"> <label class="form-check-label" for="is_mandatory">บังคับเข้าร่วม</label> </div> </div> <button type="submit" class="btn btn-primary">เพิ่มกิจกรรม</button> </form> </div> </div> <!-- ตารางแสดงกิจกรรม --> <div class="card"> <div class="card-header"> <h5 class="mb-0">รายการกิจกรรมทั้งหมด</h5> </div> <div class="card-body"> <div> <table class="table table-hover"> <thead> <tr> <th>ชื่อกิจกรรม</th> <th>รายละเอียด</th> <th>วันที่เริ่ม</th> <th>วันที่สิ้นสุด</th> <th>สถานะ</th> <th>การจัดการ</th> </tr> </thead> <tbody> <?php foreach ($activities as $activity): ?> <tr> <td><?php echo htmlspecialchars($activity['activity_name']); ?></td> <td><?php echo htmlspecialchars($activity['activity_description']); ?></td> <td><?php echo date('d/m/Y H:i', strtotime($activity['start_datetime'])); ?></td> <td><?php echo date('d/m/Y H:i', strtotime($activity['end_datetime'])); ?></td> <td> <?php if ($activity['is_mandatory']): ?> <span class="badge bg-danger">บังคับ</span> <?php else: ?> <span class="badge bg-success">ไม่บังคับ</span> <?php endif; ?> </td> <td> <button class="btn btn-sm btn-warning" onclick="editActivity(<?php echo htmlspecialchars(json_encode($activity)); ?>)"> แก้ไข </button> <a href="participants.php?activity_id=<?php echo $activity['activity_id']; ?>" class="btn btn-sm btn-info">จัดการผู้เข้าร่วม</a> <form method="POST" style="display: inline;"> <input type="hidden" name="action" value="delete"> <input type="hidden" name="activity_id" value="<?php echo $activity['activity_id']; ?>"> <button type="submit" class="btn btn-sm btn-danger" onclick="return confirm('ยืนยันการลบกิจกรรมนี้?')"> ลบ </button> </form> </td> </tr> <?php endforeach; ?> </tbody> </table> </div> </div> </div> </div> <!-- Modal แก้ไขกิจกรรม --> <div class="modal" id="editActivityModal" tabindex="-1"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">แก้ไขกิจกรรม</h5> <button type="button" class="btn-close" data-bs-dismiss="modal"></button> </div> <form method="POST"> <div class="modal-body"> <input type="hidden" name="action" value="update"> <input type="hidden" name="activity_id" id="edit_activity_id"> <div class="mb-3"> <label class="form-label">ชื่อกิจกรรม</label> <input type="text" class="form-control" name="name" id="edit_name" required> </div> <div class="mb-3"> <label class="form-label">รายละเอียด</label> <textarea class="form-control" name="description" id="edit_description"></textarea> </div> <div class="mb-3"> <label class="form-label">วันเวลาเริ่มต้น</label> <input type="datetime-local" class="form-control" name="start_datetime" id="edit_start_datetime" required> </div> <div class="mb-3"> <label class="form-label">วันเวลาสิ้นสุด</label> <input type="datetime-local" class="form-control" name="end_datetime" id="edit_end_datetime" required> </div> <div class="mb-3"> <div class="form-check"> <input type="checkbox" class="form-check-input" name="is_mandatory" id="edit_is_mandatory"> <label class="form-check-label" for="edit_is_mandatory">บังคับเข้าร่วม</label> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">ยกเลิก</button> <button type="submit" class="btn btn-primary">บันทึก</button> </div> </form> </div> </div> </div> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> <script> function editActivity(activity) { // ลบ backdrop เก่าที่อาจค้างอยู่ document.querySelectorAll('.modal-backdrop').forEach(el => el.remove()); document.body.classList.remove('modal-open'); // ใส่ค่าในฟอร์ม document.getElementById('edit_activity_id').value = activity.activity_id; document.getElementById('edit_name').value = activity.activity_name; document.getElementById('edit_description').value = activity.activity_description; document.getElementById('edit_start_datetime').value = activity.start_datetime.slice(0, 16); document.getElementById('edit_end_datetime').value = activity.end_datetime.slice(0, 16); document.getElementById('edit_is_mandatory').checked = activity.is_mandatory == 1; // เปิด Modal โดยไม่ให้มี Backdrop new bootstrap.Modal(document.getElementById('editActivityModal'), { backdrop: false }).show(); } </script> </body> </html>
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Génération de la page: 0.34 |
proxy
|
phpinfo
|
Réglages