Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/04/2008, 14:07
Masane
 
Fecha de Ingreso: marzo-2008
Mensajes: 207
Antigüedad: 16 años, 2 meses
Puntos: 0
Controlador con includes y headers

Hola amigos, tengo un problema.

Resulta que tengo un controlador que carga las paginas mediantes includes (Tiene q ser include, xq el explode en mi caso no me viene bien).

el controlador llama a la clase que necesite ejecutar dependiendo de un parametro accion que le llega del request, y con esa accion, instancia objetos de las clases requeridas, y esos objetos ejecutan un metodo "ejecutar" (todas las clases q ejecuta el navegador tienen los mismos nombres de metodos, pero cada metodo ace una cosa diferente dependiendo de la clase q sea), y el metodo ejecutar devuelve true o false dependiendo de como haya ido la operacion, y si da true, da valor a la propiedad de la clase "vista", y el controlador la recoge y ace un include con esa vista. La cosa es q tengo algunas clases q en vez de devolver una vista, tienen q redireccionar de nuevo al controlador para q este ejecute otras acciones para cargar otra pagina, y este redireccionamiento lo estoy aciendo con un header dentro del objeto accion, pero me salta un error y creo q es xq no me pilla el header...

Os ago un bocetillo de mi codigo

Código PHP:
// Controlador
$act $_POST["accion"];
$accion = new Accion($act);

if (
$accion->ejecutar())
{
    
$vista $accion->getVista();
   
// Y mas codigo q no viene al caso....
}
else
{
    
$vista "error.php";
}

include(
$vista); 
Código PHP:
//Clase accion
class Accion
{
// Me salto el constructor y demas...
function ejecutar()
{
   
header("Location: controlador.php?accion=".$_GET["accion"]);

Seria algo asi, aunq evidentemente no esta exacto, xq os podeis morir para leerlo todo. Ese seria el procedimiento a seguir, y de antemano aclaro q no imprimo nada de html antes de acer ni los includes ni los header del controlador, eso lo ago en las paginas para las vistas, pero en el controlador y en sus clases, nanai ...

Alguna idea, keja o sugerencia sobre mi codigo y este puñetero problema?

Se agradece la ayuda por adelantado ;)