Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Problema con header("location:")

Estas en el tema de Problema con header("location:") en el foro de PHP en Foros del Web. Muy buenas, tengo un problema con header, he estado buscando por si alguien ha posteado sobre esto antes, no he logrado encontrarlo. Estoy intentado subir ...
  #1 (permalink)  
Antiguo 01/04/2016, 09:06
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 8 años, 1 mes
Puntos: 0
Problema con header("location:")

Muy buenas,

tengo un problema con header, he estado buscando por si alguien ha posteado sobre esto antes, no he logrado encontrarlo.

Estoy intentado subir tres posiciones en el arbol de direcciones, quiero decir, mi arbol de direcciones es el siguiente:

www / php / datos -> funcion.php

Desde funcion.php quiero llamar a una pagina (listarDatos.php) con Header que esta en raiz (www), pero si desde funcion.php pongo:

header("location:../listarDatos.php"); lo que me aparece en Firefox es http://localhost/php/listarDatos.php

header("location:.../listarDatos.php"); lo que me aparece en Firefox es http://localhost/php/datos/.../listarDatos.php

¿Hay alguna forma de pedir que cargue desde raiz?

Gracias,
  #2 (permalink)  
Antiguo 01/04/2016, 09:41
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Problema con header("location:")

www
|-php >-datos > funcion.php
|-css
|-js
|-OtraCarpeta

ahora que es lo que quieres, porque el header te va a redireccionar a esa pagina en cuestion y si lo que quieres es cargarla vas a necesitar el include:

Código PHP:
Ver original
  1. //redirecciona al archivo dentro de php
  2. header('location:../listarDatos.php');
  3.  
  4. //incluye el archivo de la carpeta php
  5. include('../listarDatos.php');

todo esto suponiendo que la carpeta datos esta dentro de la carpeta php
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 01/04/2016, 10:04
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Problema con header("location:")

El arbol de direcciones es el siguiente:

www
|-php |- datos (dentro de carpeta datos) *funcion.php
|-css
|-js
|-OtraCarpeta
*index.php
*listarDatos.php


En funcion.php pongo header("location:../listarDatos.php") en teoria esto me tendria que mostrar listarDatos.php que lo tengo en raiz. pero en vez de eso, no me muestra nada y en la URL me pone esto.

http://localhost/php/listarDatos.php

Necesito que redireccione a http://localhost/listarDatos.php

En teoria header("location:../loquesea") ¿me deberia redireccionar a raiz no?, quiero decir ¿ ../ se tendria que ir a raiz?
  #4 (permalink)  
Antiguo 01/04/2016, 10:13
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Problema con header("location:")

Puedes utilizar varios ../../ para situarte en el directorio que necesites
Código PHP:
Ver original
  1. header('location:../../listarDatos.php');

También puedes utilizar la superglobal SERVER para situarte en el directorio raíz.
Código PHP:
Ver original
  1. header('location:'.$_SERVER['SERVER_NAME'].'/listarDatos.php');
Código PHP:
Ver original
  1. include($_SERVER['DOCUMENT_ROOT'].'/listarDatos.php');

Última edición por xerifandtomas; 01/04/2016 a las 10:22
  #5 (permalink)  
Antiguo 01/04/2016, 11:44
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Problema con header("location:")

Cita:
Iniciado por quake_1990 Ver Mensaje
El arbol de direcciones es el siguiente:

www
|-php |- datos (dentro de carpeta datos) *funcion.php
|-css
|-js
|-OtraCarpeta
*index.php
*listarDatos.php


En funcion.php pongo header("location:../listarDatos.php") en teoria esto me tendria que mostrar listarDatos.php que lo tengo en raiz. pero en vez de eso, no me muestra nada y en la URL me pone esto.

http://localhost/php/listarDatos.php

Necesito que redireccione a http://localhost/listarDatos.php

En teoria header("location:../loquesea") ¿me deberia redireccionar a raiz no?, quiero decir ¿ ../ se tendria que ir a raiz?
Bueno como te dije el header te va a direccionar al archivo si colocas el location en el, segundo los ../ solo te llevan al directorio inmediatamente anterior al actual, ahora bien si lo que quieres es incluir dentro de funcion un archivo que esta en la carpeta php realiza esto:

Código PHP:
Ver original
  1. include('../listarDatos');

si el archivo estuviera en el directorio raiz seria asi:

Código PHP:
Ver original
  1. include('../../listarDatos');

porque estamos retrocediendo 2 directorios es decir datos[1] < php[2] y quedarias en www

todo esto va a depender claro de la logica de tu codigo, porque no entiendo porque incluyes dentro de funcion la lista cuando deberia de ser al reves (solo especulo a falta de tu codigo)

__________________
[email protected]
HITCEL
  #6 (permalink)  
Antiguo 01/04/2016, 13:38
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Problema con header("location:")

Hola quake_1990,

Cada ../ sube un directorio, por lo tanto, si necesitas subir 2 directorios, deberás poner ../../

Espero que te aclare.
  #7 (permalink)  
Antiguo 04/04/2016, 05:04
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Problema con header("location:")

Muy buenas! Gracias a todos por responder!!

Subir dos directorios al final ha dado resultado con header("location:../../listarSede.php");

xfxstudios - xerifandtomas - rbczgz gracias por todo, me tenia frito este problema y no encontraba nada en internet

xfxstudios te respondo a lo que me preguntabas, no he nombrado bien los archivos php, me estan saliendo demasiados archivos .php, (estoy renombrando todo, aun asi el archivo funciones se llama fAltaDatos.php pero no queria liar) y queria ordenarlo un poco , por si alguien mas toca el codigo no se vuelva loco/loca. Aun asi decir que hace unos 5 años que no programo, e imagino que lo estaré haciendo con metodos algo antiguos.

Marco el tema como solucionado

Etiquetas: Ninguno
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:58.