Files
ventas_php/test_login_reales.php
nickpons666 3b5bd9c0e9 DEBUG FASE 2: Identificados problemas críticos en GetRow()
PROBLEMAS CRÍTICOS IDENTIFICADOS:
⚠️ GetRow() devuelve null siempre → empresaId = 0
⚠️ Warnings PHP en util.class.php:501 (acceso arrays nulos)
⚠️ Compatibilidad MockDatabase vs mysqli real

DATOS REALES ENCONTRADOS:
 admin@novomoda.com.mx → empresaId = 1
 sonia.velezquez@novomoda.com.mx → empresaId = 15
 gerente@novomoda.com.mx → empresaId = 15

ARCHIVOS NUEVOS:
- debug_login.php → Debug de base de datos master
- test_login_reales.php → Test con usuarios reales

ANÁLISIS:
- Usuarios existen en BD master
- Consultas SQL funcionan en debug
- GetRow() falla en DoLogin()

SIGUIENTE PASO: Revisar GetRow() en DB.class.php
2026-01-07 18:43:28 -06:00

64 lines
2.1 KiB
PHP

<?php
/**
* Test de login dinámico con usuarios reales del sistema
*/
require_once 'config.php';
require_once 'classes/db.class.php';
require_once 'classes/error.class.php';
require_once 'classes/util.class.php';
require_once 'classes/main.class.php';
require_once 'classes/empresa.class.php';
echo "=== TEST LOGIN CON USUARIOS REALES ===\n\n";
// Usuarios reales encontrados en base de datos
$usuariosReales = [
['email' => 'admin@novomoda.com.mx', 'password' => '1234', 'expectedEmpresaId' => 1],
['email' => 'sonia.velezquez@novomoda.com.mx', 'password' => '1234', 'expectedEmpresaId' => 15],
['email' => 'gerente@novomoda.com.mx', 'password' => '1234', 'expectedEmpresaId' => 15],
];
foreach ($usuariosReales as $test) {
echo "Test con email: {$test['email']}\n";
// Crear instancia de empresa
$empresa = new Empresa();
$empresa->setEmail($test['email']);
$empresa->setPassword($test['password']);
// Intentar login
if ($empresa->DoLogin()) {
$actualEmpresaId = $_SESSION['empresaId'];
$loginKey = $_SESSION['loginKey'];
echo "✅ Login exitoso\n";
echo " empresaId obtenido: $actualEmpresaId\n";
echo " empresaId esperado: {$test['expectedEmpresaId']}\n";
echo " loginKey: $loginKey\n";
// Verificar base de datos correspondiente
require_once 'classes/system-config.class.php';
$config = SystemConfig::getEmpresaDatabaseConfig($actualEmpresaId);
echo " Base de datos: {$config['database']}\n";
if ($actualEmpresaId == $test['expectedEmpresaId']) {
echo "✅ CORRECTO: empresaId coincide\n";
} else {
echo "❌ ERROR: empresaId no coincide\n";
}
// Limpiar sesión para siguiente test
unset($_SESSION['loginKey']);
unset($_SESSION['empresaId']);
} else {
echo "❌ Login fallido\n";
echo " Revisar credenciales o disponibilidad del usuario\n";
}
echo str_repeat("-", 50) . "\n";
}
echo "=== FIN DEL TEST ===\n";
?>