ccah-assessment/load-responses.php

64 lines
1.5 KiB
PHP

<?php
session_start();
require_once __DIR__ . "/db.php";
header("Content-Type: application/json");
// Get user token from session or URL
$userToken = $_GET['token'] ?? null;
if (!$userToken) {
http_response_code(403);
echo json_encode(["error" => "Invalid authentication token: " . htmlspecialchars($userToken)]);
exit;
}
// Connect to the database
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if ($conn->connect_error) {
http_response_code(500);
echo json_encode(["error" => "Database connection failed: " . $conn->connect_error]);
exit;
}
// Fetch user ID using token
$stmt = $conn->prepare("SELECT id, token_expires_at FROM users WHERE auth_token = ?");
$stmt->bind_param("s", $userToken);
$stmt->execute();
$result = $stmt->get_result();
$user = $result->fetch_assoc();
if (!$user) {
http_response_code(403);
echo json_encode(["error" => "Invalid authentication token."]);
exit;
}
// Check if token is expired
if (strtotime($user['token_expires_at']) < time()) {
http_response_code(403);
echo json_encode(["error" => "Authentication token has expired."]);
exit;
}
$userId = $user['id'];
// Fetch saved responses
$stmt = $conn->prepare("SELECT * FROM questionnaire_responses WHERE user_id = ?");
$stmt->bind_param("i", $userId);
$stmt->execute();
$result = $stmt->get_result();
$response = $result->fetch_assoc();
if ($response) {
echo json_encode($response);
} else {
echo json_encode(["message" => "No previous responses found."]);
}
$conn->close();
exit;
?>