Add try-catch to login.php for detailed error debugging
This commit is contained in:
+22
-13
@@ -23,19 +23,28 @@ if (empty($username) || empty($password)) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$stmt = $c->prepare("SELECT id, username, password FROM users WHERE username = ?");
|
try {
|
||||||
$stmt->bind_param("s", $username);
|
$stmt = $c->prepare("SELECT id, username, password FROM users WHERE username = ?");
|
||||||
$stmt->execute();
|
$stmt->bind_param("s", $username);
|
||||||
$result = $stmt->get_result();
|
$stmt->execute();
|
||||||
|
$result = $stmt->get_result();
|
||||||
|
|
||||||
if ($row = $result->fetch_assoc()) {
|
if ($row = $result->fetch_assoc()) {
|
||||||
if (password_verify($password, $row['password'])) {
|
if (password_verify($password, $row['password'])) {
|
||||||
// Success
|
// Success
|
||||||
$_SESSION['user_id'] = $row['id'];
|
$_SESSION['user_id'] = $row['id'];
|
||||||
$_SESSION['username'] = $row['username'];
|
$_SESSION['username'] = $row['username'];
|
||||||
echo json_encode(['status' => 'success', 'message' => 'Login successful']);
|
echo json_encode(['status' => 'success', 'message' => 'Login successful']);
|
||||||
exit;
|
exit;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
echo json_encode(['status' => 'error', 'message' => 'Invalid username or password']);
|
echo json_encode(['status' => 'error', 'message' => 'Invalid username or password']);
|
||||||
|
} catch (mysqli_sql_exception $e) {
|
||||||
|
http_response_code(500);
|
||||||
|
echo json_encode([
|
||||||
|
'status' => 'error',
|
||||||
|
'message' => 'Terjadi kesalahan query database',
|
||||||
|
'error_detail' => $e->getMessage()
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user