Foros del Web » Programando para Internet » PHP »

Location no funciona, ¿Cuales son las restricciones?

Estas en el tema de Location no funciona, ¿Cuales son las restricciones? en el foro de PHP en Foros del Web. Hola, soy nuevo en PHP y me he tenido que meter por obligación, hasta ahora todos mis avances son a base de prueba y error. ...
  #1 (permalink)  
Antiguo 22/04/2004, 06:54
 
Fecha de Ingreso: abril-2004
Mensajes: 20
Antigüedad: 20 años
Puntos: 0
Location no funciona, ¿Cuales son las restricciones?

Hola, soy nuevo en PHP y me he tenido que meter por obligación, hasta ahora todos mis avances son a base de prueba y error.

Lo que me tiene reventado es que el "Location:" no me funciona simpre. Es decir, si pongo el comando en cualquier linea, este no abre la pagina solicitada. La verdad es que no se que tipo de condiciones se deben cumplir para que funcione regularmente.

Alguien me podria indicar si conoce o sabe de condiciones/restricciones para el uso de "Location:" y si alguien sabe de algun buen manual de PHP, por fa, que de la direccion.
Tengo el manual oficial de PHP, y a pesar de que es muy completo, no es tan amigable en cuanto a ejemplos.

Gracias a todos.
  #2 (permalink)  
Antiguo 22/04/2004, 07:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En las FAQ's de este foro PHP tienes "tutoriales" (que != a manual que es lo que es el manual oficial de -referencia- de PHP www.php.net).

Sobre tu problema ... No sé que te refieres con "no redirecciona" ..

En teoría un:

header("Location: pagina.tal");

es una cabecera HTTP standard que todo navegador debería entender como tal y le dice al mismo "cambia la página y llama a la que te digo en location ...". Esto es lo mismo que si usases javascript con su "window.location" .. o si usases ASP con sus funciones equivalentes para envio de cabeceras ...o cualquier otro lenguaje.

Lo único que tienes que tener presente es que el "header()" como función que "envia cabeceras HTTP" al cliente (navegador) .. se ha de hacer -antes- de cualquier otra salida que puedas tener: ejemplo; HTML, echo "algo" .. o un simple espacio, salto de línea antes de <? (y si llamas código por algún include() o similar .. asegurate de que a su vez ese código no tenga ningún espacio/salto de línea despues de ?> )

A su vez .. recuerda también que ... cuando haces el "location" la idea es que cambias la página que vé el cliente por qué quieres llamar a otro script.php tuyo .. u otra página .. el coso es que si bien el "location" le indica eso al navegador .. el flujo de código de tu script php .. continua ejecutandose, así que es recomendable "cortar" la ejecución del script.php en ese instante con: exit; despues del header("Location: ...."); aunque los "condicionales" y estructuras de control que puedas tener en tu código lleven el flujo del código al final del script en ese instante.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 16:37.