setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { die("Connection failed: " . $e->getMessage()); } // টেবিল তৈরি করুন (যদি না থাকে) $pdo->exec("CREATE TABLE IF NOT EXISTS donors ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, phone VARCHAR(15) UNIQUE NOT NULL, whatsapp VARCHAR(20) NOT NULL, blood_group VARCHAR(5) NOT NULL, gender VARCHAR(10) NOT NULL, district VARCHAR(50) NOT NULL, upazila VARCHAR(100) NOT NULL, last_donated VARCHAR(50) DEFAULT 'কখনো দেইনি', password VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP )"); $pdo->exec("CREATE TABLE IF NOT EXISTS admins ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL )"); // ডিফল্ট অ্যাডমিন চেক করুন $stmt = $pdo->query("SELECT COUNT(*) FROM admins"); if ($stmt->fetchColumn() == 0) { $pdo->exec("INSERT INTO admins (username, password) VALUES ('admin', 'admin123')"); } // API হ্যান্ডলিং if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_SERVER['HTTP_X_REQUESTED_WITH'])) { header('Content-Type: application/json'); $data = json_decode(file_get_contents("php://input"), true); $action = $data['action'] ?? ''; if ($action === 'register') { try { $stmt = $pdo->prepare("INSERT INTO donors (name, phone, whatsapp, blood_group, gender, district, upazila, last_donated, password) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"); $stmt->execute([ $data['name'], $data['phone'], $data['whatsapp'], $data['bloodGroup'], $data['gender'], $data['district'], $data['upazila'], $data['lastDonated'], $data['password'] ]); echo json_encode(["success" => true, "message" => "নিবন্ধন সফল!"]); } catch(PDOException $e) { echo json_encode(["success" => false, "message" => "এই নম্বর Already আছে!"]); } exit; } if ($action === 'login') { $stmt = $pdo->prepare("SELECT * FROM donors WHERE phone = ?"); $stmt->execute([$data['phone']]); $donor = $stmt->fetch(PDO::FETCH_ASSOC); if ($donor && $data['password'] === $donor['password']) { session_start(); $_SESSION['donor'] = $donor; echo json_encode(["success" => true, "donor" => $donor]); } else { echo json_encode(["success" => false, "message" => "ভুল তথ্য!"]); } exit; } if ($action === 'get_donors') { $stmt = $pdo->query("SELECT * FROM donors ORDER BY created_at DESC"); echo json_encode(["success" => true, "donors" => $stmt->fetchAll(PDO::FETCH_ASSOC)]); exit; } if ($action === 'get_stats') { $total = $pdo->query("SELECT COUNT(*) FROM donors")->fetchColumn(); $male = $pdo->query("SELECT COUNT(*) FROM donors WHERE gender='male'")->fetchColumn(); $female = $pdo->query("SELECT COUNT(*) FROM donors WHERE gender='female'")->fetchColumn(); echo json_encode(["success" => true, "total" => $total, "male" => $male, "female" => $female]); exit; } if ($action === 'update_donated') { session_start(); $stmt = $pdo->prepare("UPDATE donors SET last_donated = ? WHERE id = ?"); $stmt->execute([$data['last_donated'], $_SESSION['donor']['id']]); echo json_encode(["success" => true]); exit; } if ($action === 'admin_login') { session_start(); $stmt = $pdo->prepare("SELECT * FROM admins WHERE username = ? AND password = ?"); $stmt->execute([$data['username'], $data['password']]); if ($stmt->fetch()) { $_SESSION['admin'] = true; echo json_encode(["success" => true]); } else { echo json_encode(["success" => false]); } exit; } if ($action === 'admin_get_donors') { session_start(); if (!isset($_SESSION['admin'])) { echo json_encode(["success" => false]); exit; } $stmt = $pdo->query("SELECT * FROM donors ORDER BY created_at DESC"); echo json_encode(["success" => true, "donors" => $stmt->fetchAll(PDO::FETCH_ASSOC)]); exit; } if ($action === 'admin_delete_donor') { session_start(); if (!isset($_SESSION['admin'])) { echo json_encode(["success" => false]); exit; } $stmt = $pdo->prepare("DELETE FROM donors WHERE id = ?"); $stmt->execute([$data['id']]); echo json_encode(["success" => true]); exit; } if ($action === 'admin_update_donor') { session_start(); if (!isset($_SESSION['admin'])) { echo json_encode(["success" => false]); exit; } $stmt = $pdo->prepare("UPDATE donors SET name=?, phone=?, blood_group=?, district=?, upazila=?, last_donated=? WHERE id=?"); $stmt->execute([$data['name'], $data['phone'], $data['bloodGroup'], $data['district'], $data['upazila'], $data['lastDonated'], $data['id']]); echo json_encode(["success" => true]); exit; } exit; } session_start(); ?>