estoy trabajando en una pequeña aplicación desarrollada con XAJAX la cual esta elaborada de esta forma:
- Clase mysql
- Clase de funciones de consulta (hereda la clase mysql)
- Clase de funciones xajax (hereda funciones)
Este es el arbol de mi aplicación, primero tengo la clases de mysql que realiza la conexion, luego la clase funciones (que contiene todas las consultas de la BD) hereda todos los metodos de clase mysql, y por ultimo la clase funciones XAJAX (aqui pongo todos las funciones de xajax) hereda todos los metodos de funciones y por ende los de mysql.
El problema es el siguiente cuando yo subo mi aplicación a la web, me sale este error Output has already been sent to the browser at /home/web/public_html/siec/dashboard.php:1. Please make sure the command $xajax->processRequest() is placed before this..
Dicho error jamas aparece cuando la veo desde un servidor Apache local, solo cuando lo suba a un server en la web, he probado todo lo que he leido en distintos foros (que no debe de haber espacios antes del contenido html, que no debe de haber ningun contenido html antes de poner la clase).
Si alguien puede decirme cual es el error se lo agradeceria, dejo parte del codigo para que me entiendan.
CLASE MYSQL
Código PHP:
//CLASE DE MYSQL
class mysql
{
private $conectar;
private $total_consultas;
//CONSTRUCTOR PARA CONECTAR A BASE DE DATOS
public function mysql()
{
//config
include_once("config_inc.php"); //sacando datos de configuración para servidor
$this->servidor=HOST;
$this->usuario=USER;
$this->password=PASS;
$this->base_datos=DB;
if(!isset($this->conectar)){
$this->conectar = (mysql_connect($this->servidor,$this->usuario,$this->password)) or die(mysql_error());
mysql_select_db($this->base_datos,$this->conectar) or die(mysql_error());
}
}
...... hay otras funciones abajo
}
CLASE DE FUNCIONES
Código PHP:
//clase padre
include_once("class_mysql_inc.php");
//CLASE DE FUNCIONES GENERALES
class funciones extends mysql
{
public $logia_nombre, $logia_logo, $logia_id;
public $numero_trazado, $numero_trazado_letras;
//--------------------------------------------------------------------------------------------------
public function extraer_trazados()
{
$consulta = $this->consulta("SELECT * FROM tbl_trazados ORDER BY id ASC");
while($resultado = $this->recorrer($consulta))
{
$trazados .= '<div id="ficha">
<div class="numero">Trazado N°: '.$resultado["numero_cifras"].'</div>
<div class="datos">Periodo: '.$resultado["periodo"].'</div>
<div class="datos">Tenida: '.$this->extraer_tipo_trazado($resultado["trazados_tipo_id"]).'</div>
<div class="fecha">Fecha de creación: <br /> '.$resultado["ingreso_fecha"].'</div>
<a href="includes/ver_trazado.php?idem='.$resultado["id"].'" class="operaciones window-info">
<img src="images/icon-ver.png" alt="ver" title="ver"/>
</a>';
$trazados .= "
<a href='javascript:;' onclick=\"borrar_trazado('".$resultado["id"]."', '".$resultado["numero_cifras"]."', '".$this->extraer_tipo_trazado($resultado["trazados_tipo_id"])."');\" class='operaciones'>
<img src='images/icon-eliminar.png' alt='eliminar' title='eliminar'/>
</a>
</div>";
}
return $trazados;
}
...... hay otras funciones abajo
}
CLASE XAJAX FUNCIONES
Código PHP:
//clase padre
include_once("class_funciones_inc.php");
// CLASE DE XAJAX
class procesos extends funciones
{
private $xajax;
public $xajax_js;
//----------------------------------------------------------------------------------------------------------------------
//INICIANDO XAJAX
public function iniciar_xajax()
{
//xajax
require_once("xajax/xajax_core/xajax.inc.php");
$this->xajax = new xajax();
//registro de funciones
$this->xajax->register(XAJAX_FUNCTION, array('colocar_usuario_logia', $this, 'colocar_usuario_logia'));
$this->xajax->register(XAJAX_FUNCTION, array('verificar_cuadro', $this, 'verificar_cuadro') );
$this->xajax->register(XAJAX_FUNCTION, array('agregar_campo_puestos', $this, 'agregar_campo_puestos'));
$this->xajax->register(XAJAX_FUNCTION, array('agregar_campo_visitantes', $this, 'agregar_campo_visitantes'));
$this->xajax->register(XAJAX_FUNCTION, array('agregar_campo_disculpados', $this, 'agregar_campo_disculpados'));
$this->xajax->register(XAJAX_FUNCTION, array('agregar_campo_planchas', $this, 'agregar_campo_planchas'));
$this->xajax->register(XAJAX_FUNCTION, array('preview', $this, 'preview'));
$this->xajax->processRequest();
$this->xajax_js = $this->xajax->getJavascript('includes/xajax/');
//$this->xajax->setFlags(array('debug'=>true,'outputEntities'=>true));
}
...... hay otras funciones abajo
}
DASHBOARD
Código PHP:
<?php
session_start();
if($_SESSION["autorizado"] != ""){
$id = $_SESSION["autorizado"]["logia"];
include_once("includes/class_funciones_xajax_inc.php");
$metod= new procesos();
$metod->iniciar_xajax();
//iniciando
$metod->logia(0, $id);
$metod->extraer_numero_trazado($id);
//variables
$logias_id = $metod->logia_id;
$logias_logo = $metod->logia_logo;
$logias_nombre = $metod->logia_nombre;
$numero_trazado = $metod->numero_trazado;
$numero_trazado_letras = $metod->numero_trazado_letras;
}
else{
header("location: index.php");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- title -->
<title>MODEL</title>
<!-- css -->
<link rel="stylesheet" rev="general" type="text/css" href="general.css" />
<link rel="stylesheet" rev="detalle" type="text/css" href="detalle.css" />
<!-- xajax js -->
<?php echo $siec->xajax_js; ?>
<!-- js -->
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.easing.js"></script>
<script type="text/javascript" src="js/colorbox/jquery.colorbox.js"></script>
<script type="text/javascript" src="js/general.js"></script>
</head>
<body>
.. aqui van contenido HTML + funciones de las clases --
</body>
</html>