connect_error) { die("Conexión fallida: " . $conn->connect_error); } // Función para registrar un nuevo usuario function registrarUsuario($conn, $username, $password) { $hashedPassword = password_hash($password, PASSWORD_DEFAULT); $stmt = $conn->prepare("INSERT INTO usuarios (username, password) VALUES (?, ?)"); $stmt->bind_param("ss", $username, $hashedPassword); $stmt->execute(); $stmt->close(); } // Función para verificar las credenciales del usuario function verificarUsuario($conn, $username, $password) { $stmt = $conn->prepare("SELECT id, password FROM usuarios WHERE username = ?"); $stmt->bind_param("s", $username); $stmt->execute(); $stmt->store_result(); if ($stmt->num_rows > 0) { $stmt->bind_result($id, $hashedPassword); $stmt->fetch(); if (password_verify($password, $hashedPassword)) { $_SESSION['user_id'] = $id; return true; } } return false; } // Manejar el registro de usuarios if (isset($_POST['registrar'])) { $username = $_POST['username']; $password = $_POST['password']; registrarUsuario($conn, $username, $password); header("Location: dashboard.php"); exit(); } // Manejar el inicio de sesión if (isset($_POST['login'])) { $username = $_POST['username']; $password = $_POST['password']; if (verificarUsuario($conn, $username, $password)) { header("Location: dashboard.php"); exit(); } else { $error = "Credenciales inválidas"; } } // Verificar si el usuario ha iniciado sesión if (!isset($_SESSION['user_id'])) { // Mostrar formulario de inicio de sesión y registro ?> Iniciar Sesión / Registrarse

Iniciar Sesión / Registrarse

query("SELECT * FROM prioridades ORDER BY fecha_limite ASC"); return $result->fetch_all(MYSQLI_ASSOC); } // Función para obtener servicios function obtenerServicios($conn) { $result = $conn->query("SELECT * FROM servicios ORDER BY fecha DESC"); return $result->fetch_all(MYSQLI_ASSOC); } // Función para obtener balanza function obtenerBalanza($conn) { $result = $conn->query("SELECT * FROM balanza ORDER BY fecha_pago DESC"); return $result->fetch_all(MYSQLI_ASSOC); } // Función para obtener eventos function obtenerEventos($conn) { $result = $conn->query("SELECT * FROM eventos ORDER BY fecha ASC"); return $result->fetch_all(MYSQLI_ASSOC); } // Obtener datos para el dashboard $prioridades = obtenerPrioridades($conn); $servicios = obtenerServicios($conn); $balanza = obtenerBalanza($conn); $eventos = obtenerEventos($conn); ?> Panel de Control

Prioridades (Orden de Tareas)

$prioridad): ?>
Prioridad Cliente Servicio Fecha Límite

Calendario de Eventos

  • -

Servicios Proporcionados (Historial)

Balanza de Comprobaciones

Descripción Monto ($MXN) Fecha de Pago Estado Acciones