| Server IP : 172.67.187.206 / Your IP : 172.71.28.155 Web Server : Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30 System : Windows NT WIN-ECQAAA40806 6.2 build 9200 (Windows Server 2012 Standard Edition) i586 User : SYSTEM ( 0) PHP Version : 5.6.30 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Inetpub/www/pr/ |
Upload File : |
<?php
include 'functions.php';
check_login('admin');
// ตัวแปรสำหรับเก็บข้อมูลที่จะแก้ไข
$edit_mode = false;
$edit_data = null;
// 1. ตรวจสอบว่ามีการกดปุ่ม "ลบ" หรือไม่
if(isset($_GET['del'])) {
$id = intval($_GET['del']);
// ป้องกันการลบตัวเอง (Admin)
mysqli_query($conn, "DELETE FROM users WHERE user_id = $id AND role != 'admin'");
echo "<script>alert('ลบข้อมูลเรียบร้อย'); window.location='admin_groups.php';</script>";
}
// 2. ตรวจสอบว่ามีการกดปุ่ม "แก้ไข" หรือไม่
if(isset($_GET['edit'])) {
$id = intval($_GET['edit']);
$sql = "SELECT * FROM users WHERE user_id = $id AND role != 'admin'";
$result = mysqli_query($conn, $sql);
if(mysqli_num_rows($result) > 0) {
$edit_mode = true;
$edit_data = mysqli_fetch_assoc($result);
// ถอดรหัสผ่านเพื่อแสดงในฟอร์ม
$edit_data['password'] = decrypt_pass($edit_data['password']);
}
}
// 3. บันทึกข้อมูล (กรณี เพิ่มใหม่)
if(isset($_POST['add_user'])) {
$u = mysqli_real_escape_string($conn, $_POST['username']);
$p = encrypt_pass($_POST['password']);
$g = mysqli_real_escape_string($conn, $_POST['group_name']);
// เช็คว่า Username ซ้ำไหม
$check = mysqli_query($conn, "SELECT username FROM users WHERE username = '$u'");
if(mysqli_num_rows($check) > 0) {
echo "<script>alert('ชื่อผู้ใช้ (Username) นี้มีอยู่ในระบบแล้ว กรุณาใช้ชื่ออื่น');</script>";
} else {
$sql = "INSERT INTO users (username, password, role, group_name) VALUES ('$u', '$p', 'user', '$g')";
if(mysqli_query($conn, $sql)) {
echo "<script>alert('เพิ่มกลุ่มงานเรียบร้อย'); window.location='admin_groups.php';</script>";
} else {
echo "<script>alert('เกิดข้อผิดพลาด: ".mysqli_error($conn)."');</script>";
}
}
}
// 4. บันทึกข้อมูล (กรณี แก้ไข)
if(isset($_POST['update_user'])) {
$id = intval($_POST['user_id']);
$u = mysqli_real_escape_string($conn, $_POST['username']);
$g = mysqli_real_escape_string($conn, $_POST['group_name']);
$p = encrypt_pass($_POST['password']); // เข้ารหัสใหม่เสมอเมื่อบันทึก
$sql = "UPDATE users SET username='$u', password='$p', group_name='$g' WHERE user_id=$id AND role != 'admin'";
if(mysqli_query($conn, $sql)) {
echo "<script>alert('แก้ไขข้อมูลเรียบร้อย'); window.location='admin_groups.php';</script>";
} else {
echo "<script>alert('เกิดข้อผิดพลาด: ".mysqli_error($conn)."');</script>";
}
}
echo get_header("จัดการกลุ่มงาน");
?>
<div class="row">
<div class="col-md-4 mb-4">
<div class="card shadow-sm border-0 <?php echo $edit_mode ? 'border-warning' : 'border-success'; ?>" style="border-width: 2px;">
<div class="card-header text-white <?php echo $edit_mode ? 'bg-warning' : 'bg-success'; ?>">
<h5 class="mb-0">
<?php echo $edit_mode ? '<i class="bi bi-pencil-square"></i> แก้ไขข้อมูล' : '<i class="bi bi-person-plus-fill"></i> เพิ่มกลุ่มงานใหม่'; ?>
</h5>
</div>
<div class="card-body">
<form method="post">
<?php if($edit_mode) { ?>
<input type="hidden" name="user_id" value="<?php echo $edit_data['user_id']; ?>">
<?php } ?>
<div class="mb-3">
<label class="form-label">Username (ชื่อเข้าใช้งาน)</label>
<input type="text" name="username" class="form-control" placeholder="เช่น group1"
value="<?php echo $edit_mode ? $edit_data['username'] : ''; ?>" required>
</div>
<div class="mb-3">
<label class="form-label">Password (รหัสผ่าน)</label>
<input type="text" name="password" class="form-control" placeholder="ตั้งรหัสผ่าน"
value="<?php echo $edit_mode ? $edit_data['password'] : ''; ?>" required>
<small class="text-muted">* ระบบจะเข้ารหัสให้อัตโนมัติ</small>
</div>
<div class="mb-3">
<label class="form-label">ชื่อกลุ่มงาน (ที่แสดงผล)</label>
<input type="text" name="group_name" class="form-control" placeholder="เช่น กลุ่มงานบริหารทั่วไป"
value="<?php echo $edit_mode ? $edit_data['group_name'] : ''; ?>" required>
</div>
<div class="d-grid gap-2">
<?php if($edit_mode) { ?>
<button type="submit" name="update_user" class="btn btn-warning text-dark">
<i class="bi bi-save"></i> บันทึกการแก้ไข
</button>
<a href="admin_groups.php" class="btn btn-secondary">ยกเลิก</a>
<?php } else { ?>
<button type="submit" name="add_user" class="btn btn-success">
<i class="bi bi-plus-lg"></i> เพิ่มข้อมูล
</button>
<?php } ?>
</div>
</form>
</div>
</div>
</div>
<div class="col-md-8">
<div class="card shadow-sm border-0">
<div class="card-header bg-primary text-white">
<h5 class="mb-0"><i class="bi bi-people-fill"></i> รายชื่อกลุ่มงานในระบบ</h5>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<table class="table table-hover table-striped mb-0 align-middle">
<thead class="table-light">
<tr>
<th>Username</th>
<th>ชื่อกลุ่มงาน</th>
<th>รหัสผ่าน (ถอดรหัส)</th>
<th class="text-center" style="width: 150px;">จัดการ</th>
</tr>
</thead>
<tbody>
<?php
$res = mysqli_query($conn, "SELECT * FROM users WHERE role != 'admin' ORDER BY user_id DESC");
if(mysqli_num_rows($res) > 0) {
while($row = mysqli_fetch_assoc($res)){
// ตรวจสอบว่าเป็นแถวที่กำลังแก้ไขอยู่หรือไม่ (เพื่อทำไฮไลท์)
$row_class = ($edit_mode && $row['user_id'] == $edit_data['user_id']) ? 'table-warning' : '';
?>
<tr class="<?php echo $row_class; ?>">
<td><?php echo $row['username']; ?></td>
<td><?php echo $row['group_name']; ?></td>
<td class="text-muted font-monospace"><?php echo decrypt_pass($row['password']); ?></td>
<td class="text-center">
<div class="btn-group btn-group-sm">
<a href="?edit=<?php echo $row['user_id']; ?>" class="btn btn-warning" title="แก้ไข">
แก้ไข
</a>
<a href="?del=<?php echo $row['user_id']; ?>" onclick="return confirm('ยืนยันที่จะลบกลุ่มงานนี้? ข้อมูลประวัติงานอาจหายไปด้วย')" class="btn btn-danger" title="ลบ">
ลบ
</a>
</div>
</td>
</tr>
<?php
}
} else {
echo "<tr><td colspan='4' class='text-center py-4 text-muted'>ยังไม่มีข้อมูลกลุ่มงาน</td></tr>";
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<?php echo get_footer(); ?>