Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2015, 15:04
wilmer30
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 11 meses
Puntos: 12
redireccionamiento con header();

Hola,

He estado dando vueltas y vueltas, intento redireccionar a otra página con header(); pero no lo esta haciendo bien, con esto quiero decir. Al loguearme en el sistema envío a un método de la Clase UsuariosController, el cual saca los datos de otra clase UsuariosModel con un retorno de true o false si es true entonces debería redireccionar a la página indicada.

Código PHP:
Ver original
  1. <?php
  2. ....
  3. public function validar(){
  4.         if ( isset( $_POST['email']) || isset( $_POST['pass']) ){
  5.             $usuario = new UsuariosModel();
  6.             $usuarioAdmitido = $usuario->getUsuarioAdmitido($_POST['email'], sha1($_POST['pass']));
  7.             if($usuarioAdmitido == true){
  8.                 $this->redirect("Usuarios", "index");
  9.             } else {
  10.                 $this->redirect("Usuarios", "viewLogin");
  11.             }
  12.  
  13.         }
  14.     }
  15. ...?>

Código PHP:
Ver original
  1. //Obtener un usuario admitido
  2.     public function getUsuarioAdmitido($user,$password){
  3.         $query="SELECT * FROM usuarios WHERE email='$user' AND password = '$password'";
  4.  
  5.         $usuario=$this->ejecutarSql($query);
  6.         if(isset($usuario->email)){
  7.             $_SESSION['email'] = $usuario->email;
  8.             return true;
  9.         } else {
  10.             return false;
  11.         }
  12.     }
La parte de $this->redirect("Usuarios", "index"); usa un metodo:
Código PHP:
Ver original
  1. public function redirect($controlador=CONTROLADOR_DEFECTO,$accion=ACCION_DEFECTO){
  2.         header("Location:index.php?controller=".$controlador."&action=".$accion);
  3.     }

El problema es que por defecto no redirecciona, pero al pulsar F5 si lo hace.

Alguna idea de que esta pasando?