61 lines
1.7 KiB
PHP
61 lines
1.7 KiB
PHP
<?php
|
|
require_once 'db/config.php';
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
// Create table if it doesn't exist
|
|
try {
|
|
$pdo = db();
|
|
$sql = "
|
|
CREATE TABLE IF NOT EXISTS votes (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
voter_name VARCHAR(255) NOT NULL,
|
|
category VARCHAR(50) NOT NULL,
|
|
website_number INT NOT NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);";
|
|
$pdo->exec($sql);
|
|
} catch (PDOException $e) {
|
|
echo json_encode(['success' => false, 'error' => 'Database error: ' . $e->getMessage()]);
|
|
exit;
|
|
}
|
|
|
|
$data = json_decode(file_get_contents('php://input'), true);
|
|
|
|
if (!$data) {
|
|
echo json_encode(['success' => false, 'error' => 'Invalid input']);
|
|
exit;
|
|
}
|
|
|
|
$voterName = $data['voter_name'] ?? '';
|
|
$category = $data['category'] ?? '';
|
|
$website_numbers = [
|
|
$data['website_number_1'] ?? 0,
|
|
$data['website_number_2'] ?? 0,
|
|
$data['website_number_3'] ?? 0,
|
|
];
|
|
|
|
if (empty($voterName) || empty($category) || !in_array($category, ['beauty', 'funny'])) {
|
|
echo json_encode(['success' => false, 'error' => 'Invalid data provided.']);
|
|
exit;
|
|
}
|
|
|
|
try {
|
|
$pdo = db();
|
|
$stmt = $pdo->prepare("INSERT INTO votes (voter_name, category, website_number) VALUES (:voter_name, :category, :website_number)");
|
|
|
|
foreach ($website_numbers as $number) {
|
|
if ($number >= 1 && $number <= 30) {
|
|
$stmt->execute([
|
|
':voter_name' => $voterName,
|
|
':category' => $category,
|
|
':website_number' => $number
|
|
]);
|
|
}
|
|
}
|
|
|
|
echo json_encode(['success' => true]);
|
|
} catch (PDOException $e) {
|
|
echo json_encode(['success' => false, 'error' => 'Database error: ' . $e->getMessage()]);
|
|
}
|