// Check if user has already voted $checkVote = $conn->prepare("SELECT has_voted FROM users WHERE id = ?"); $checkVote->execute([$_SESSION['user_id']]); $user = $checkVote->fetch();
-- Table: users CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(100) UNIQUE NOT NULL, email VARCHAR(255) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL, voter_id VARCHAR(50) UNIQUE, has_voted BOOLEAN DEFAULT FALSE, role ENUM('voter', 'admin') DEFAULT 'voter', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Table: candidates CREATE TABLE candidates ( id INT AUTO_INCREMENT PRIMARY KEY, position VARCHAR(100) NOT NULL, fullname VARCHAR(150) NOT NULL, biography TEXT, photo VARCHAR(255), votes INT DEFAULT 0 ); // Check if user has already voted $checkVote
-- Table: election_settings CREATE TABLE election_settings ( id INT AUTO_INCREMENT PRIMARY KEY, election_status ENUM('upcoming', 'active', 'closed') DEFAULT 'upcoming', start_date DATETIME, end_date DATETIME ); $user = $checkVote->