Foros del Web » Programando para Internet » PHP »

redireccionamiento con header();

Estas en el tema de redireccionamiento con header(); en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 09/03/2015, 15:04
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 3 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?
  #2 (permalink)  
Antiguo 09/03/2015, 15:31
 
Fecha de Ingreso: enero-2015
Mensajes: 205
Antigüedad: 9 años, 2 meses
Puntos: 18
Respuesta: redireccionamiento con header();

Al logearte no va a hacerlo, por que ya se ha cargado el header, yo no haría la redirección así, aquí la haría via js, o similar
SI estás logeado sin embargo, cuando se cargue el header de tu página (f5) es cuando te envía la otra página.
Por eso te pasa eso.
  #3 (permalink)  
Antiguo 09/03/2015, 20:42
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 3 meses
Puntos: 12
Respuesta: redireccionamiento con header();

Disculpa pero no e tiendo bien tu respuesta, no puedo usar js

Etiquetas: redireccionamiento, select, sql, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:00.