57 lines
1.8 KiB
PHP
57 lines
1.8 KiB
PHP
<?php
|
|
session_start();
|
|
require_once 'conexion.php';
|
|
|
|
// Respuesta por defecto
|
|
header('Content-Type: application/json');
|
|
|
|
if ($_SERVER["REQUEST_METHOD"] != "POST") {
|
|
echo json_encode(['success' => false, 'message' => 'Método no permitido']);
|
|
exit();
|
|
}
|
|
|
|
// Obtener id del usuario a eliminar
|
|
$id = isset($_POST['id']) ? intval($_POST['id']) : 0;
|
|
|
|
if ($id <= 0) {
|
|
echo json_encode(['success' => false, 'message' => 'ID inválido']);
|
|
exit();
|
|
}
|
|
|
|
// Prevenir la eliminación del usuario actual (si es necesario)
|
|
if (isset($_SESSION['id_usuario']) && $_SESSION['id_usuario'] == $id) {
|
|
echo json_encode(['success' => false, 'message' => 'No puedes eliminar tu propia cuenta']);
|
|
exit();
|
|
}
|
|
|
|
// Obtener el ID del primer usuario registrado para protegerlo
|
|
$primerUsuarioQuery = "SELECT MIN(ID_Usuario) AS primer_id FROM usuarios";
|
|
$primerUsuarioStmt = $conexion->prepare($primerUsuarioQuery);
|
|
$primerUsuarioStmt->execute();
|
|
$primerUsuarioResult = $primerUsuarioStmt->get_result();
|
|
$primerUsuarioId = (int) $primerUsuarioResult->fetch_assoc()['primer_id'];
|
|
$primerUsuarioStmt->close();
|
|
|
|
if ($primerUsuarioId > 0 && $id === $primerUsuarioId) {
|
|
echo json_encode(['success' => false, 'message' => 'El administrador supremo no puede ser eliminado']);
|
|
exit();
|
|
}
|
|
|
|
// Eliminar el usuario
|
|
$query = "DELETE FROM usuarios WHERE ID_Usuario = ?";
|
|
$stmt = $conexion->prepare($query);
|
|
$stmt->bind_param("i", $id);
|
|
|
|
if ($stmt->execute()) {
|
|
if ($stmt->affected_rows > 0) {
|
|
echo json_encode(['success' => true, 'message' => 'Usuario eliminado exitosamente']);
|
|
} else {
|
|
echo json_encode(['success' => false, 'message' => 'El usuario no existe']);
|
|
}
|
|
} else {
|
|
echo json_encode(['success' => false, 'message' => 'Error al eliminar el usuario']);
|
|
}
|
|
|
|
$stmt->close();
|
|
$conexion->close();
|
|
?>
|