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
This commit is contained in:
64
test_login_reales.php
Normal file
64
test_login_reales.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?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";
|
||||
?>
|
||||
Reference in New Issue
Block a user