Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-03-2008
Avatar de oracle
oracle oracle is offline
Miembro
 
Registrado: feb 2005
Posts: 99
Poder: 20
oracle Va por buen camino
Regresar a Pagina anterior

Hola amigos, imagino que mi pregunta es muy sencilla para la mayoria de ustedes, pero en fin, ando en esto hace algunas horas y no doy con el asunto:

El hecho es que necesito que cuando un usuario trate de entrar a cierta pagina restringida si no esta logeado me lo mande hacia la pagina de login, hasta ahi todo bien.

Una vez que se loguee el usuario quisiera redireccionarlo a la pagina que anteriormente trato de acceder y no a una pagina por default como seria lo mas sencillo...

El ejemplo mas claro de lo que quiero hacer es lo mismo que pasa aqui en el foro, cuando no estamos autenticados y tratamos por ejemplo de postear, en ese caso nos envia a la pagina login y luego nos redirecciona hasta la pagina que queriamos acceder, espero haberme explicado bien....

Estoy utilizando framework symfony, aun no encuentro manera de hacerlo con sus funcionen, por ahora me conformo con hacerlo con las funciones del php standar...

de antemano gracias...


oracle
__________________
El único hombre que no se equivoca es el que nunca hace nada.
Responder Con Cita
  #2  
Antiguo 05-03-2008
Avatar de oracle
oracle oracle is offline
Miembro
 
Registrado: feb 2005
Posts: 99
Poder: 20
oracle Va por buen camino
Mis saludos reiterados amigos, encontre este peque;o ejemplo en internet:

Código:
 
$url = explode("?",$_SERVER['HTTP_REFERER']); 
$redir=$url[0];
Tambien con javascript se puede hacer algo asi:

Código:
 
< a href = javascript:history.back()> .....
Pero la segunda opcion no me sirvio mucho para lo que yo necesito ya que no me devuelve el url de la pagina anterior y me hace falta para la devolucion de un parametro a la pagina...

Gracias de todas formas


Oracle
__________________
El único hombre que no se equivoca es el que nunca hace nada.
Responder Con Cita
  #3  
Antiguo 05-03-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Código PHP:
$url explode("?",$_SERVER['HTTP_REFERER']); 
$redir=$url[0]; 
Como sabes, "$url" contendría la URL, en este caso, más no su "query string", puesto que si esto también lo necesitas, entonces, basta con:

Código PHP:
$redir $_SERVER['HTTP_REFERER']; 
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 05-03-2008
Avatar de oracle
oracle oracle is offline
Miembro
 
Registrado: feb 2005
Posts: 99
Poder: 20
oracle Va por buen camino
Si eso es correcto, lo he probado y excelente!!! El asunto es que no se que hace la funcion explode por eso la he dejado exactamente como estaba en el ejemplo...

La unica desventaja que he encontrado hasta ahora es que por ejemplo si en la pagina en cuestion (Buscar.php) hay un boton submit (recordemos que estoy trabajando con Symfony) dicho submit envia hacia el action de dicha pagina function executeBuscarSuccess, pues en este caso en la variable $_SERVER['HTTP_REFERER'] quedara registrada como url anterior la propia pagina buscar.php y eso no es lo que necesito, lo que deseo es regresar a la pagina inmediatamente anterior en el historial a Buscar.php....


//Saludos
__________________
El único hombre que no se equivoca es el que nunca hace nada.
Responder Con Cita
  #5  
Antiguo 06-03-2008
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

También me he encontrado con problemas similares, finalmente estoy usando una variable que se llama $pagAnterior y que hago viajar por url, con esto puedo controlar perfectamente para volver a las páginas anteriores sin problemas, una solución bien chunga, pero que me funciona.

Hasta Luego .-

PD: Lo otro es usar una variable de SESSION para mantener siempre la página anterior.
__________________
No todo es como parece ser...
Responder Con Cita
  #6  
Antiguo 06-03-2008
Avatar de oracle
oracle oracle is offline
Miembro
 
Registrado: feb 2005
Posts: 99
Poder: 20
oracle Va por buen camino
Los problemas con las variables de session estan en que a veces hay navegadores que dan problemas con ellas, tienen que tener actualizadas las cookies, etc. En mi caso especificamente el firefox ligado con el symfony da muchos errores relacionados con eso, con IE generalmente no suelen ocurrir este tipo de problemas....

//Saludos
__________________
El único hombre que no se equivoca es el que nunca hace nada.
Responder Con Cita
  #7  
Antiguo 06-03-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
No entiendo a qué problemas te refieres. PHP puede manejar sesiones aún sin cookies, en cuyo caso el ID de sesión se transmite junto con la url.

Por cierto, tengo curiosidad por ver cómo estás usando el HTTP_REFERER para estos menesteres, porque no me queda claro. Si intento ingresar a pagina.php sin haber iniciado sesión, y redirecciono con header a login.php, HTTP_REFERER no contiene ningún valor. Al menos es lo que ví ayer en unas pruebas que hice, pero quizá se me escapa algo.

De cualquier manera, recuerda que el mismo manual de PHP desaconseja el uso de HTTP_REFERER.

Bye
Responder Con Cita
  #8  
Antiguo 08-03-2008
Avatar de oracle
oracle oracle is offline
Miembro
 
Registrado: feb 2005
Posts: 99
Poder: 20
oracle Va por buen camino
Thumbs up

Amigo KeyBoy, realmente tienes mucha razon en lo que dices respecto a las sessiones y las cookies. Lo que queria dar a entender es que estaba teniedno problemas con el manejo de sessiones en Firefox.

Bueno de todas formas lo de redireccionar a la pagina de login fue un ejemplo, porque pense que se trataba del mismo caso, ya veo por tu analisis que no, realmente yo no redirecciono hacia ningun lado, lo que necesito es tener un link en cuestionario.php hacia buscar.php donde se muestran un registros como resultado de una busqueda. Dichos registros deben tener un link cada uno hacia la pagina cuestionario.php en caso que halla sido cuestionario la que la halla llamado, porque puede ocurrir que sea otra y en ese caso necesito que los resultados de buscar.php me envien hacia esa otra pagina.

De cualquier forma no pude al final lograr lo que queria con http_referer, asi que pude solucionar el problema pasando como parametro a la pagina buscar.php la url de la pagina que la llama, la guardo en un campo hidden y asi no la pierdo en ningun momento y asunto resuelto....


Saludos

oracle
__________________
El único hombre que no se equivoca es el que nunca hace nada.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
limpiar formulario al regresar a la pagina jomanmoz HTML, Javascript y otros 1 17-02-2008 22:43:40
Impedir regresar a pagina anterior Coco_jac PHP 5 04-07-2007 22:58:31
volver a una página anterior y actualizar halizia HTML, Javascript y otros 5 25-04-2007 12:57:03
regresar valores Genner MS SQL Server 5 03-04-2006 13:55:43
regresar array de una función torito Varios 3 23-08-2005 16:03:35


La franja horaria es GMT +2. Ahora son las 08:29:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi