Current directory: /home/klas4s23/domains/585455.klas4s23.mid-ica.nl/public_html/Gastenboek/uploads
<?php
/**
* Debug Login Endpoint
*/
session_start();
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST');
header('Access-Control-Allow-Headers: Content-Type');
header('Access-Control-Allow-Credentials: true');
require_once 'config.php';
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
http_response_code(200);
exit();
}
try {
$rawInput = file_get_contents('php://input');
$input = json_decode($rawInput, true);
$debug = [
'raw_input' => $rawInput,
'decoded_input' => $input,
'json_error' => json_last_error_msg(),
'method' => $_SERVER['REQUEST_METHOD']
];
if (!isset($input['username']) || !isset($input['password'])) {
echo json_encode([
'error' => 'Missing username or password',
'debug' => $debug
], JSON_PRETTY_PRINT);
exit;
}
$username = trim($input['username']);
$password = $input['password'];
$debug['username'] = $username;
$debug['password_length'] = strlen($password);
$pdo = getDbConnection();
// Find user
$stmt = $pdo->prepare("
SELECT user_id, username, email, password_hash, full_name, is_active
FROM users
WHERE (username = :username OR email = :email)
");
$stmt->execute([
':username' => $username,
':email' => $username
]);
$user = $stmt->fetch();
if (!$user) {
echo json_encode([
'error' => 'User not found',
'debug' => $debug
], JSON_PRETTY_PRINT);
exit;
}
$debug['user_found'] = true;
$debug['user_active'] = $user['is_active'];
$debug['hash_preview'] = substr($user['password_hash'], 0, 30);
// Verify password
$verify = password_verify($password, $user['password_hash']);
$debug['password_verify'] = $verify;
if (!$verify) {
echo json_encode([
'error' => 'Password does not match',
'debug' => $debug
], JSON_PRETTY_PRINT);
exit;
}
if (!$user['is_active']) {
echo json_encode([
'error' => 'User account is not active',
'debug' => $debug
], JSON_PRETTY_PRINT);
exit;
}
// Success
echo json_encode([
'success' => true,
'message' => 'All checks passed!',
'user' => [
'username' => $user['username'],
'email' => $user['email']
],
'debug' => $debug
], JSON_PRETTY_PRINT);
} catch (Exception $e) {
echo json_encode([
'error' => $e->getMessage(),
'trace' => $e->getTraceAsString()
], JSON_PRETTY_PRINT);
}