Foros del Web » Programando para Internet » PHP »

HEADER: extraño problema

Estas en el tema de HEADER: extraño problema en el foro de PHP en Foros del Web. Buenas, antes que nada hola a todos y desde ya muchas gracias. Tengo un problema al hacer redireccionamiento en php. mi funcion: Código PHP: function  ...
  #1 (permalink)  
Antiguo 21/06/2008, 13:56
Avatar de somosunatriste  
Fecha de Ingreso: junio-2008
Mensajes: 8
Antigüedad: 15 años, 10 meses
Puntos: 0
HEADER: extraño problema

Buenas, antes que nada hola a todos y desde ya muchas gracias.

Tengo un problema al hacer redireccionamiento en php.

mi funcion:

Código PHP:
function redirect($url) {
        
header("HTTP/1.1 301 Moved Permanently");
        
header("Location:".$url); exit;
        
    } 
esto me funciona perfectamente, pero en una seccion de mi archivo (login.php)
lo disparo, el httpWatcher me muestra el http code 301 (de redireccion) pero el breowser no va a la pagina indicada.

Redondeando, la redireccion se ejecuta pero el browser no la muestra.
alguna idea... ?
un saludo y gracias.
  #2 (permalink)  
Antiguo 21/06/2008, 14:48
Avatar de jariza  
Fecha de Ingreso: agosto-2003
Ubicación: Málaga
Mensajes: 1.449
Antigüedad: 20 años, 8 meses
Puntos: 10
Respuesta: HEADER: extraño problema

La forma correcta es:
Código PHP:
header("Location: /foo.php",TRUE,301); 
Échale un ojo a http://es.php.net/manual/es/function.header.php , en concreto a http://es.php.net/manual/es/function.header.php#78470
  #3 (permalink)  
Antiguo 22/06/2008, 10:35
Avatar de somosunatriste  
Fecha de Ingreso: junio-2008
Mensajes: 8
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: HEADER: extraño problema

Buenas, despues de buscar y preguntar encontre una solucion.
Resulta que la peticion de redirecionamiento (el llamdo a mi funcion redirect()) lo hacia luego de una llamada ajax.
Por lo que me explicaron esto no funciona dado a que el header que estoy mandando al browser lo captura el objeto httprequest y solo manda el resultado del html. O sea el header que le estoy mandando al cliente , se pierde en el medio del post :S

si alguien puede dar una mejor explicacion de esto, estare agradecido.

saludos

Última edición por somosunatriste; 22/06/2008 a las 10:37 Razón: correccion de ortografia
  #4 (permalink)  
Antiguo 22/06/2008, 12:57
Avatar de jariza  
Fecha de Ingreso: agosto-2003
Ubicación: Málaga
Mensajes: 1.449
Antigüedad: 20 años, 8 meses
Puntos: 10
Respuesta: HEADER: extraño problema

Pon el código que hay antes de la redirección.
  #5 (permalink)  
Antiguo 22/06/2008, 13:03
Avatar de somosunatriste  
Fecha de Ingreso: junio-2008
Mensajes: 8
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: HEADER: extraño problema

js:
Código:
function logout() {
                //USO LA LIBRERIA JQUERY
	$.post("/login.php" , {logout:1}});
}
php:
Código PHP:
if(isset($_POST["logout"]) && $_POST["logout"] == 1){
        
userLogout();
        
redirect("http://".$_SERVER['HTTP_HOST']."/");
    } 
  #6 (permalink)  
Antiguo 22/06/2008, 13:26
Avatar de jariza  
Fecha de Ingreso: agosto-2003
Ubicación: Málaga
Mensajes: 1.449
Antigüedad: 20 años, 8 meses
Puntos: 10
Respuesta: HEADER: extraño problema

Da la impresión de que debes tener un fallo de "headers already sent".

¿Tienes activado el show_errors de PHP?
  #7 (permalink)  
Antiguo 22/06/2008, 13:31
Avatar de somosunatriste  
Fecha de Ingreso: junio-2008
Mensajes: 8
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: HEADER: extraño problema

mmmm hice un phpinfo() y encotre esto.
---> display_errors On

asi que creo que si.
  #8 (permalink)  
Antiguo 23/06/2008, 08:11
Avatar de jariza  
Fecha de Ingreso: agosto-2003
Ubicación: Málaga
Mensajes: 1.449
Antigüedad: 20 años, 8 meses
Puntos: 10
Respuesta: HEADER: extraño problema

¿Y has mirado el nivel de error (error_reporting)?
Ponlo en E_ALL & ~E_NOTICE.
  #9 (permalink)  
Antiguo 23/06/2008, 12:22
Avatar de somosunatriste  
Fecha de Ingreso: junio-2008
Mensajes: 8
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: HEADER: extraño problema

bien, cambie la forma de reportar los errores y no escupio ningun error de header.
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 12:25.