HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux host 6.8.0-107-generic #107-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 13 19:51:50 UTC 2026 x86_64
User: w230 (1248)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/www/w230/html/election/public/index.php
<?php
session_start();
include('../config/connect.php');

// รับรหัสนักเรียนจาก form_login
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['student_id'])) {
    $_SESSION['student_id'] = $_POST['student_id'];
}
$code = $_SESSION['student_id'] ?? '';

// ตรวจสอบว่าลงคะแนนไปแล้วหรือยัง
$check = mysqli_query($conn, "SELECT * FROM votes WHERE student_id = '$code'");
if (mysqli_num_rows($check) > 0) {
    echo "<script>
        alert('คุณได้ลงคะแนนไปแล้ว');
        window.location='form_login.php';
    </script>";
    exit;
}

// เมื่อกดปุ่มโหวต
if (isset($_POST['vote'])) 
{
    $candidate_id = $_POST['candidate_id'];
    mysqli_query($conn, "INSERT INTO votes (student_id, candidate_id) VALUES ('$code', '$candidate_id')");
     echo "<script>
        alert('ขอบคุณที่มาใช้สิทธิ์ลงคะแนน');
        window.location='form_login.php';
    </script>";
    exit;
}
?>

<!DOCTYPE html>
<html lang="th">
<head>
    <meta charset="UTF-8">
    <title>เลือกตั้งสภานักเรียน</title>
    <!-- Bootstrap & SweetAlert2 -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
    <!-- ฟอนต์ Prompt -->
    <link href="https://fonts.googleapis.com/css2?family=Prompt&display=swap" rel="stylesheet">
    <style>
        body {
            font-family: 'Prompt', sans-serif;
            background: linear-gradient(to right, #f8ffae, #43c6ac);
            padding-top: 50px;
        }
        .circle-img {
            width: 160px;
            height: 160px;
            object-fit: cover;
            border-radius: 50%;
            border: 3px solid #0d6efd;
            box-shadow: 0 0 10px rgba(0,0,0,0.2);
            transition: transform 0.3s ease;
            margin-bottom: 15px;
        }
        .bounce {
            animation: bounce 1s ease;
        }
        @keyframes bounce {
            0%   { transform: translateY(0); }
            25%  { transform: translateY(-30px); }
            50%  { transform: translateY(0); }
            75%  { transform: translateY(-15px); }
            100% { transform: translateY(0); }
        }
    </style>
</head>
<body>
    <div class="container">
        <h2 class="text-center mb-4">เลือกตั้งประธานนักเรียน</h2>
        <div class="row justify-content-center">
            <?php
            $res = mysqli_query($conn, "SELECT * FROM candidates");
            while ($row = mysqli_fetch_assoc($res)):
            ?>
            <div class="col-md-4 text-center mb-4">
                <form method="post" onsubmit="return voteAnimation(this)">
                    <input type="hidden" name="candidate_id" value="<?= $row['id'] ?>">
                    <img src="../assets/img/<?= $row['photo'] ?>" class="circle-img" id="img<?= $row['id'] ?>">
                    <h5 class="mt-2"><?= $row['name'] ?></h5>
                    <button type="submit" name="vote" class="btn btn-success mt-2">โหวต</button>
                </form>
            </div>
            <?php endwhile; ?>
        </div>
    </div>

    <script>
        function voteAnimation(form) {
            const img = form.querySelector('img');
            img.classList.add('bounce');
            return true; // ให้ submit ต่อ
        }
    </script>
</body>
</html>