Foros del Web » Programando para Internet » PHP »

history.back() con PHP

Estas en el tema de history.back() con PHP en el foro de PHP en Foros del Web. Hola, tengo el botón siguiente: <input onClick="javascript :window.history.back();" type="button" name="Submit" value="Volver" /> Hay alguna forma de "imitar" lo más posible el history.back() en PHP?? Gracias...
  #1 (permalink)  
Antiguo 11/07/2005, 17:45
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
history.back() con PHP

Hola,
tengo el botón siguiente:

<input onClick="javascript:window.history.back();" type="button" name="Submit" value="Volver" />

Hay alguna forma de "imitar" lo más posible el history.back() en PHP??

Gracias
  #2 (permalink)  
Antiguo 11/07/2005, 18:37
okram
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo

Cita:
Iniciado por dominguez
Hola,
tengo el botón siguiente:

<input onClick="javascript:window.history.back();" type="button" name="Submit" value="Volver" />

Hay alguna forma de "imitar" lo más posible el history.back() en PHP??

Gracias
Salu2 lo que podrias hacer es usar la variable $HTTP_REFERER; asi podrias poner un link como:

Código PHP:
<a href="<?php echo $HTTP_REFERER?>">Volver</a>
aunque por ahi vi que la forma correcta seria
Código PHP:
<a href="<?php echo $_SERVER['HTTP_REFERER']; ?>">Volver</a>
pero esta variable volverá a cargar la página anterior, a la que quieres volver, mientras que el javascript tomará la página que guardó en el cache... pero si lo que buscas es un botón o un link para volver, entonces no hay problema...

un saludo
  #3 (permalink)  
Antiguo 11/07/2005, 19:37
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 9 meses
Puntos: 17
Igual hay que aclarar algo...

http://ar.php.net/reserved.variables
'HTTP_REFERER'
La dirección de la página (si la hay) la cual refirió al agente de usuario a la página actual. Este valor es definido por el agente de usuario. No todos los agentes de usuario lo definen, y algunos proveen la capacidad de modificar HTTP_REFERER como una característica del software. En resumen, no se puede confiar realmente en este valor.
  #4 (permalink)  
Antiguo 14/07/2005, 16:02
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Entonces no es posible hacerlo con PHP no?

Sólo puedo volver a la página anterior de forma fiable con Javascript verdad?
  #5 (permalink)  
Antiguo 14/07/2005, 16:19
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Depende de lo que necesites. Podes, donde quieras volver desde php, hacer:
echo "<script>window.history.back();<script>"; exit;
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #6 (permalink)  
Antiguo 14/07/2005, 16:34
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Ya, pero eso es javascript.

Me refiero a que no hay forma de simular el history.back() en PHP de forma fiable no?
  #7 (permalink)  
Antiguo 14/07/2005, 16:40
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
header("location: ".$_SERVER['HTTP_REFERER'] ." ");


PD: Igual el resultado es el mismo, explicate diciendo que es lo que necesitas.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #8 (permalink)  
Antiguo 14/07/2005, 16:47
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Es que el javascript puede estar deshabilitado y busco una forma para que siempre se pueda volver.

La forma que me indicas según comenta Seppo más arriba no es fiable.
  #9 (permalink)  
Antiguo 14/07/2005, 16:57
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Domina de donde biene, ej:
Teniendo pagina 1 y 2, en pagina 1 declara la pagina que se ve con php_self y , la guardas en una session o cookie, y en pagina dos, levantas ese valor, y lo metes en el link. EJ, usando sessiones, en pagina 1 pones:

$_SESSION['history'] = $_SERVER['PHP_SELF'];
if(isset($_SERVER['QUERY_STRING'])) $_SESSION['history'] .= '?'.$_SERVER['QUERY_STRING'];

En pagina 2, pones:
<a href="<?php echo isset($_SESSION['history']) ? $_SESSION['history'] 'index.php';?>">Back</a>
__________________
Mi punto de partida es Que Bueno Lo Nuevo
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 00:42.