<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: GET");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
require_once 'db.php';
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
try {
if (isset($_GET['mobile']) && !empty($_GET['mobile'])) {
$mobile = $_GET['mobile'];
// Use CURDATE() to get the current date in MySQL
$stmt = $pdo->prepare("SELECT * FROM membership WHERE mem_mobile = :mobile AND mem_end_date >= CURDATE() ORDER BY id DESC");
$stmt->bindParam(':mobile', $mobile);
$stmt->execute();
$membership = $stmt->fetch(PDO::FETCH_ASSOC);
if ($membership) {
$currentDate = new DateTime();
$endDate = new DateTime($membership['mem_end_date']);
$interval = $currentDate->diff($endDate);
$daysRemaining = $interval->days;
// Ensure questionsLeft is an integer
$questionsLeft = intval($membership['mem_question_left']);
// IMPORTANT: Always include questionsLeft in the response
if ($daysRemaining <= 0) {
$response = [
'status' => 'expired',
'reason' => 'Membership expired',
'questionsLeft' => 0
];
} else {
$response = [
'status' => 'active',
'reason' => 'Expiring in ' . $daysRemaining . ' days',
'questionsLeft' => $questionsLeft
];
}
echo json_encode($response);
} else {
echo json_encode([
'status' => 'expired',
'reason' => 'Membership not found',
'questionsLeft' => 0
]);
}
} else {
echo json_encode([
'status' => 'error',
'reason' => 'Mobile number is required',
'questionsLeft' => 0
]);
}
} catch (Exception $e) {
echo json_encode([
'status' => 'error',
'reason' => 'Error: ' . $e->getMessage(),
'questionsLeft' => 0
]);
}
}
?>