Foros del Web » Programando para Internet » PHP »

Obtener las URLs de las páginas visitadas anteriormente

Estas en el tema de Obtener las URLs de las páginas visitadas anteriormente en el foro de PHP en Foros del Web. Querría saber si hay alguna manera con PHP de obtener la URL de las páginas anteriormente visitadas por el usuario, para enviarle a una de ...
  #1 (permalink)  
Antiguo 16/03/2011, 08:41
 
Fecha de Ingreso: agosto-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta Obtener las URLs de las páginas visitadas anteriormente

Querría saber si hay alguna manera con PHP de obtener la URL de las páginas anteriormente visitadas por el usuario, para enviarle a una de ellas.

No me sirve usar la variable $_SERVER['httpreferer'], porque ésta me da la página justamente anterior, y puede ser que ésa no sea la que necesito.

Para más datos, explico exactamente lo que estoy haciendo: Se trata de un sistema de pedidos online, con lo cual el usuario va eligiendo artículos, y cada vez que añade uno se entra en la página de pedidos, donde se pueden ver todos los artículos, usar un botón para continuar comprando (es para el que necesito saber cómo implementar el retorno a la página anterior) y actualizar las cantidades o eliminar artículos. Y aquí está el meollo de la cuestión, puesto que si el usuario actualiza cantidades, entonces se llama a la misma página de pedidos otra vez y se realiza la actualización, con lo cual la variable $_SERVER['httpreferer'] ya no tiene la URL correcta (tendría la de la misma página de pedidos).

Por esa misma razón tampoco lo puedo hacer con javascript, con history.go(-x), porque tampoco sé cuántas veces el usuario ha estado actualizando cantidades en la página de pedidos, para poder enviarlo a donde estaba antes de entrar ahí.

A mí se me ocurre que lo que debería hacer es ir retrocediendo en el historial y comprobar las URLs, hasta encontrar alguna que sea diferente a la de la página de pedidos, y utilizar ésa. Pero no sé si se puede acceder de alguna forma a ése historial de URLs, ni si existe una forma mejor de hacerlo.

Si alguien me puede ayudar, le estaría muy agradecido.
  #2 (permalink)  
Antiguo 16/03/2011, 17:20
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Obtener las URLs de las páginas visitadas anteriormente

Por seguridad y privacidad de los usuarios, ningun navegador permite (al menos no debiera) leer y mucho menos manipular el historial de navegacion.

Podrias intentar usar variables de sesion; por ejemplo, estas visualizando un articulo y crear el enlace de retorno: $_SESSION['url-anterior'] = $link_al_producto;

En la pagina de pedido tienes dos opciones:
1- Verificar que la variable de sesion exista y sea valida, usas el valor de $_SESSION['url-anterior'] para crear el enlace de regreso.
2- Si algo fallo en 1, entonces el enlace de regreso sera a la pagina principal del catalogo.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 16/03/2011, 17:51
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: Obtener las URLs de las páginas visitadas anteriormente

Si lo que quieres es acceder a las paginas web externas que ha visitado anteriormene a la a visita a tu web, vamos mal xD (como mucho, que yo sepa, el referer, como tu dices)

si lo que quieres es acceder a las URLs que ha accedido dentro de tu web, solo tienes que registrar la url, el id_usuario y la fecha en una tabla en cada página, no?
__________________
¿ya conoces la red social de cocina? descubre y comparte recetas de cocina
TONIWEB, un programador web freelance
  #4 (permalink)  
Antiguo 17/03/2011, 03:51
 
Fecha de Ingreso: agosto-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Obtener las URLs de las páginas visitadas anteriormente

Cita:
Iniciado por Bam_Margera Ver Mensaje
Si lo que quieres es acceder a las paginas web externas que ha visitado anteriormene a la a visita a tu web, vamos mal xD (como mucho, que yo sepa, el referer, como tu dices)
No, no es eso lo que quiero ni mucho menos. No quiero hacer ninguna cosa "rara", simplemente lo que quiero es redireccionar al usuario a la página (de mi web) en la que estaba justo antes de acceder a la página de pedidos.

Cita:
Iniciado por Bam_Margera Ver Mensaje
si lo que quieres es acceder a las URLs que ha accedido dentro de tu web, solo tienes que registrar la url, el id_usuario y la fecha en una tabla en cada página, no?
Efectivamente, es una forma de hacerlo que sinceramente no se me había ocurrido. Aunque se me antoja un tanto complicada para un objetivo tan básico como el que busco (simplemente volver a una página anterior).

La forma que comenta Triby me parece más sencilla. Simplemente, mantener en una variable de sesión la URL de la última página visitada, ir actualizando esa variable en todas las páginas, excepto en la de pedidos, y desde ésta, al pulsar el enlace para volver, enviar a la dirección guardada en esa variable (si existe) y si no, a la página principal. Me parece una buena solución.

Muchas gracias a los dos por vuestra ayuda. Me habéis solucionado la duda.
  #5 (permalink)  
Antiguo 17/03/2011, 04:18
 
Fecha de Ingreso: agosto-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Obtener las URLs de las páginas visitadas anteriormente

Por si alguien más entra al tema con la misma duda, aporto otra solución que se me ha ocurrido, aunque sería con Javascript en vez de con PHP:

Sería guardar en un campo oculto en la página de pedidos el número de veces que se va recargando la página, e ir actualizando ése número con cada recarga. Finalmente, cuando el usuario pulse el botón de volver a la página anterior, hacer un window.history.go(- (num_recargas+1)), y listos.

La ventaja que tiene ése método es que hay usuarios que tienen costumbre de moverse mucho con el botón "Atrás" del navegador, y de esta forma les seguiría funcionando correctamente para ir a las páginas que han visitado con anterioridad (cosa que usando los métodos comentados en mensajes anteriores no ocurriría). Y la desventaja, es que al ser Javascript no tienes la certeza de que vaya a funcionar siempre, porque dependerá de la configuración del navegador del usuario.

Etiquetas: url
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 07:56.