Foros del Web » Programando para Internet » PHP »

Problema con header y redireccion

Estas en el tema de Problema con header y redireccion en el foro de PHP en Foros del Web. Tengo el siguiente problema con el header, tengo este codigo en una pagina: Código: <?php include('../funciones.php'); if (verificar_usuario()){ echo "Esto solo es para usuarios verificados"; ...
  #1 (permalink)  
Antiguo 20/10/2010, 16:03
 
Fecha de Ingreso: noviembre-2003
Ubicación: A Coruña
Mensajes: 89
Antigüedad: 20 años, 5 meses
Puntos: 0
Pregunta Problema con header y redireccion

Tengo el siguiente problema con el header, tengo este codigo en una pagina:

Código:
<?php
include('../funciones.php');

if (verificar_usuario()){
	echo "Esto solo es para usuarios verificados";
} else {
	header('Location: ../index.php');
}
?>
La pagina se llama pagina.php y esta en la ruta http://localhost/modulos/pagina.php y quiero que me redirija al index.php, pero no funciona, ni con la ruta absoluta ni con nada de lo que probe, si saco la pagina de ese directorio y la pongo en el raiz, si que funciona poniendo index.php. Alguien me puede decir porque no funciona?, no aparece error ni nada, solamente no ahce nada y en el else se entra porque si pongo un echo lo imprime.Saludos y Gracias
  #2 (permalink)  
Antiguo 20/10/2010, 16:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con header y redireccion

a ver... dices que esto:
Código PHP:
header('Location: /'); 
si funciona, y que esto otro no?
Código PHP:
header('Location: index.php'); 
¿probaste con esto?
Código PHP:
header('Location: /index.php'); 
o si usas la URL completa?
Código PHP:
header('Location: http://localhost/index.php'); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/10/2010, 16:13
 
Fecha de Ingreso: noviembre-2003
Ubicación: A Coruña
Mensajes: 89
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Problema con header y redireccion

Lo que digo es que si traslado el archivo de su carpeta /modulos a la raiz del servidor, si que finciona el header poniendo header('Location: index.php'); , pero en la carpeta que esta ahora /modulos no funciona nada de lo que pones incluida la direccion completa.Saludos
  #4 (permalink)  
Antiguo 20/10/2010, 16:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con header y redireccion

Cita:
Iniciado por CroMag Ver Mensaje
Lo que digo es que si traslado el archivo de su carpeta /modulos a la raiz del servidor, si que finciona el header poniendo header('Location: index.php'); , pero en la carpeta que esta ahora /modulos no funciona nada de lo que pones incluida la direccion completa.Saludos
lo último que dices no tiene sentido... osea, cuando dices que eso pasa intenta cambiar el header() por un die()

¿se ejecuta bien?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 20/10/2010, 16:23
 
Fecha de Ingreso: noviembre-2003
Ubicación: A Coruña
Mensajes: 89
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Problema con header y redireccion

Te puedes explicar un poco mejor, no entiendo que quieres que pruebe y donde.

Resumo de nuevo por si acaso:

Si entro a la pagina php asi: http://localhost/pagina.php y dentro de pagina.php hay un header('Location: index.php'); si me lleva a http://localhost/index.php.

Pero si el archivo esta en la carpeta: http://localhost/modulos/pagina.php, ni ('Location: index.php'); ni ('Location: /index.php'); ni ('Location: ../index.php'); ni ('Location: http://localhost/index.php'); me funcionan, simplemente no hace nada.Saludos
  #6 (permalink)  
Antiguo 20/10/2010, 16:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con header y redireccion

Cita:
Iniciado por CroMag Ver Mensaje
Pero si el archivo esta en la carpeta: http://localhost/modulos/pagina.php, ni ('Location: index.php'); ni ('Location: /index.php'); ni ('Location: ../index.php'); ni ('Location: http://localhost/index.php'); me funcionan, simplemente no hace nada.Saludos
esto último es lo que no entiendo...

en dicho código, en lugar del header() usa un die() para que observes si realmente se ejecuta dicha porción de código...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 20/10/2010, 16:48
 
Fecha de Ingreso: noviembre-2003
Ubicación: A Coruña
Mensajes: 89
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Problema con header y redireccion

Si pongo un echo a continuacion del header se ejecuta, ademas ya comente que si muevo el archivo de carpeta el header funciona, cual seria la nomenclatura del die()?, asi vacio o con algun parametro?.Saludos
  #8 (permalink)  
Antiguo 20/10/2010, 16:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con header y redireccion

Cita:
Iniciado por CroMag Ver Mensaje
Si pongo un echo a continuacion del header se ejecuta, ademas ya comente que si muevo el archivo de carpeta el header funciona, cual seria la nomenclatura del die()?, asi vacio o con algun parametro?.Saludos
solo debías cambiar header con die, pero no tiene caso... ya que dices que a continuación se ejecuta...

ahora me pregunto, ¿tienes activado el reporte de errores?

porque si el die() se ejecuta quiere decir que header() también, sin embargo algo impide la redirección...

intenta agregando estas lineas al inicio de tu script defectuoso:
Código PHP:
error_reporting(E_ALL);
ini_set('display_errors'1); 
luego ejecuta tu script y observa que pasa...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 21/10/2010, 05:20
 
Fecha de Ingreso: noviembre-2003
Ubicación: A Coruña
Mensajes: 89
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Problema con header y redireccion

Puse el codigo asi:
Código PHP:
<?php
include('../funciones.php');

error_reporting(E_ALL);
ini_set('display_errors'1); 

if (
verificar_usuario()){
    echo 
"Esto solo es para usuarios verificados";
} else {
    
header('Location: index.php');
    echo 
"NO verificado";
}
?>
Y esto es lo que aparece:

Código:
Notice: A session had already been started - ignoring session_start() in D:\mowes_portable\www\funciones.php on line 28 Notice: Undefined index: usuario in D:\mowes_portable\www\funciones.php on line 30 Warning: Cannot modify header information - headers already sent by (output started at D:\mowes_portable\www\index.php:178) in D:\mowes_portable\www\modulos\ad_empleo.php on line 10 NO verificado
Por ejemplo la linea 178 del index.php, en ella hay un codigo php, pero sin ningun header, lo demas no deberia afectar al header porque se ejecuta el else como decia.Saludos y Gracias
  #10 (permalink)  
Antiguo 21/10/2010, 06:58
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Problema con header y redireccion

CroMag

Headers() no te va funcionar si hay cualquier salida html previa (ni siguiera un espacio en blanco debe existir). Debe ser lo primero que se ejecute, incluso antes de session. Así que revisa tu archivo funciones.php. quizás te esté generando una salida adicional.


__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #11 (permalink)  
Antiguo 21/10/2010, 07:15
 
Fecha de Ingreso: noviembre-2003
Ubicación: A Coruña
Mensajes: 89
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Problema con header y redireccion

Cita:
Iniciado por emprear Ver Mensaje
CroMag

Headers() no te va funcionar si hay cualquier salida html previa (ni siguiera un espacio en blanco debe existir). Debe ser lo primero que se ejecute, incluso antes de session. Así que revisa tu archivo funciones.php. quizás te esté generando una salida adicional.



Si fuese cosa del archivo funciones.php, no deberia dejarme hacer el header cuando cambio ad_empleo.php al directorio raiz y sin embargo funciona, deja de funcionar unicamente en el directorio /modulos. ¿A que podrias deberse?.Gracias
  #12 (permalink)  
Antiguo 21/10/2010, 07:42
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Problema con header y redireccion

Tambien podria ser ad_empleo.php, el caso que tu php genera algún error y eso provoca que el header no se ejecute
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #13 (permalink)  
Antiguo 21/10/2010, 09:01
 
Fecha de Ingreso: noviembre-2003
Ubicación: A Coruña
Mensajes: 89
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Problema con header y redireccion

Aun no se donde podria estar el error, pero por lo de pronto estoy usando para redireccionar un script que em funciona bien.Saludos y Gracias

Código:
<script type="text/javascript"> 
window.location="../index.php"; 
</script>
  #14 (permalink)  
Antiguo 21/10/2010, 10:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con header y redireccion

técnica PHP recomendada:

si el script que incluyes contiene solo código PHP se puede omitir el último ?>

eso soluciona la mayoría de casos relacionados con este tipo de errores, y de verdad, casi todos!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: header, redireccionar
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 19:11.