Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/07/2014, 04:47
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
header location no redirige como quiero

Tengo un problema con header location al trabajar con servidor local.

Donde he detectado el problema tengo el código siguiente. Sirve para que un usuario realice login

Código PHP:
Ver original
  1. <?php
  2. namespace modules;
  3. use controller, models;
  4. class Login{
  5.    
  6.     public function view(){
  7.         return (new controller\Template())->view('login', 'login');
  8.     }
  9.    
  10.     public function login(){
  11.         $values=array(':user'=>\filter_input(INPUT_POST, 'login_user'),
  12.             ':password'=>  \filter_input(\INPUT_POST, 'login_password'));
  13.        
  14.         if((new \models\LoginDb())->login($values)!==FALSE){
  15.             $_SESSION['user']=$values[':user'];
  16.             $location="home/";
  17.        
  18.         }else{$location="login/";} //header('Location:'.ROOT_PATH.'/login');
  19.        
  20.         header ('Location:'.\LOCATION_PATH.$location);
  21.     }
  22. }

LOCATION_PATH tiene el siguiente valor

Código PHP:
Ver original
  1. \define ('LOCATION_PATH', '/localhost/framework/');

Introduzco un usuario y password que existen en la BD, por lo tanto los datos son enviados a login/login/, ahí los datos son comprobados y como existen, la variable $location="home/".

Entonces el header location realiza lo siguiente

Código PHP:
Ver original
  1. header ('Location:/localhost/framework/home/');

El problema está en que el header location no redirige como espero, ya que hace esto otro en la barra de navegación

(quito el http:// para que se pueda ver la dirección completa)
Cita:
localhost/framework/login/login/home/home/home/home/home/home/home/home/home/home/home/home/home/home/home/home/home/home/home/home/
apareciendo este otro mensaje de error

Cita:
La página no está redirigiendo adecuadamente

Firefox ha detectado que el servidor está redirigiendo la solicitud a esta dirección de una manera en la que nunca terminará.

Este problema a veces está causado por desactivar o rechazar la recepción de cookies.
Pero no estoy utilizando cookies, porque no las he implementado en el sistema.

Así que el foco del problema está en que no me saca de la URL /localhost/framework/login/login/ sino que me mantiene ahí, sumando el LOCATION_PATH + $location a la URL actual.

Por más que lo pienso, no tiene sentido lo que hace, sé que estoy equivocándome en algo y no sé qué es :S

¿Alguien puede ayudarme?

Un saludo.
__________________
Ayúdame a hacerlo por mi mismo.