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