0) { echo "Ya tienes un correo adicional registrado."; return; } $correo = $_POST['email-extra'] ?? ''; if (!filter_var($correo, FILTER_VALIDATE_EMAIL)) { echo "Correo inválido."; return; } $query = "INSERT INTO correo_extra (id_usuario, correo) VALUES (?, ?)"; $stmt = sqlsrv_prepare($conn, $query, [$id_usuario, $correo]); if ($stmt && sqlsrv_execute($stmt)) { $_SESSION['config_success'] = 'Correo adicional registrado correctamente.'; header('Location: /IMPORTADORES/seguridad/index'); exit; } else { echo "Error al registrar el correo extra."; } } function correoRespaldo() { // CORRIGIDO: Cambiar id_usuario por usuario_id y verificar confirmación if (!isset($_SESSION['usuario_id']) || ($_SESSION['pendiente_confirmacion'] ?? false)) { echo "Error: no se ha iniciado sesión o sesión incompleta."; exit; } $id_usuario = $_SESSION['usuario_id']; // CORRIGIDO $conn = getConnection(); $sql_check = "SELECT COUNT(*) AS total FROM correo_respaldo WHERE id_usuario = ?"; $stmt_check = sqlsrv_query($conn, $sql_check, [$id_usuario]); $row = sqlsrv_fetch_array($stmt_check, SQLSRV_FETCH_ASSOC); if ($row['total'] > 0) { echo "Ya tienes un correo de respaldo registrado."; return; } $correo = $_POST['email-respaldo'] ?? ''; if (!filter_var($correo, FILTER_VALIDATE_EMAIL)) { echo "Correo inválido."; return; } $query = "INSERT INTO correo_respaldo (id_usuario, correo) VALUES (?, ?)"; $stmt = sqlsrv_prepare($conn, $query, [$id_usuario, $correo]); if ($stmt && sqlsrv_execute($stmt)) { $_SESSION['config_success'] = 'Correo de respaldo registrado correctamente.'; header('Location: /IMPORTADORES/seguridad/index'); exit; } else { echo "Error al registrar el correo de respaldo."; } } function obtenerCorreos($conn, $id_usuario) { $correos = [ 'dos_factores' => 0, 'correo_extra' => '', 'correo_respaldo' => '' ]; // Obtener estado dos_factores $sql_dos_factores = "SELECT dos_factores FROM usuarios_sistema WHERE id_usuario = ?"; $params = [$id_usuario]; $stmt_dos_factores = sqlsrv_prepare($conn, $sql_dos_factores, $params); if ($stmt_dos_factores && sqlsrv_execute($stmt_dos_factores)) { if ($row = sqlsrv_fetch_array($stmt_dos_factores, SQLSRV_FETCH_ASSOC)) { $correos['dos_factores'] = (int)$row['dos_factores']; // MEJORADO: Cast a int } } // Obtener correo_extra $sql_extra = "SELECT correo FROM correo_extra WHERE id_usuario = ?"; $stmt_extra = sqlsrv_prepare($conn, $sql_extra, $params); if ($stmt_extra && sqlsrv_execute($stmt_extra)) { if ($row = sqlsrv_fetch_array($stmt_extra, SQLSRV_FETCH_ASSOC)) { $correos['correo_extra'] = $row['correo']; } } // Obtener correo_respaldo $sql_respaldo = "SELECT correo FROM correo_respaldo WHERE id_usuario = ?"; $stmt_respaldo = sqlsrv_prepare($conn, $sql_respaldo, $params); if ($stmt_respaldo && sqlsrv_execute($stmt_respaldo)) { if ($row = sqlsrv_fetch_array($stmt_respaldo, SQLSRV_FETCH_ASSOC)) { $correos['correo_respaldo'] = $row['correo']; } } return $correos; }