Foros del Web » Programando para Internet » PHP »

boton para regresar

Estas en el tema de boton para regresar en el foro de PHP en Foros del Web. Hola, algo esta mal aqui, deseo volver a la pagina de inicio yu me sale el mensaje Advertencia: La página ha caducado primero envio asi: ...
  #1 (permalink)  
Antiguo 26/01/2006, 13:00
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 19 años, 6 meses
Puntos: 0
De acuerdo boton para regresar

Hola, algo esta mal aqui, deseo volver a la pagina de inicio yu me sale el mensaje Advertencia: La página ha caducado

primero envio asi:

if (isset($_REQUEST['imprimir'])){
?>
<script languaje="javascript">
window.location="VrutgenImprimir.php";
</script>
<?php
}

luego vuelvo asi:

<!--<input type="button" value="Volver" onclick="history.go(1)">-->
<input type="button" value="Volver" onclick="history.back()">

supe que en php se puede hacfer algo como:
header("location: ".$_SERVER['HTTP_REFERER'] ." ");

pero aun asi no me funciona. segun creo el error esta en donde llamo a la pagina, es decir en:

window.location="VrutgenImprimir.php";


Ojalá tenga respuesta.
Atte
Mauricio
  #2 (permalink)  
Antiguo 26/01/2006, 13:31
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 19 años, 6 meses
Puntos: 0
No me resulta ni si quiera con header
Atte
Mauricio Gonzalez
  #3 (permalink)  
Antiguo 26/01/2006, 13:48
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 3 meses
Puntos: 0
seguro que con header location no te regresa?
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #4 (permalink)  
Antiguo 26/01/2006, 14:21
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 19 años, 6 meses
Puntos: 0
Segurisimo!
puse
<input type="button" value="Volver" onclick="<?php header("location:sgmConsultaIncidencia.php") ?>">
para devolverme y aun asi me envia a la pagina que mencione antes.
Atte
Mauricio
  #5 (permalink)  
Antiguo 30/01/2006, 06:13
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 19 años, 6 meses
Puntos: 0
De acuerdo boton para regresar

Hola, sigo con problemas para volver a la pagina anterior. hago un

echo "<input type='button' value='Volver' onclick='history.go(-1)'>";

pero despues de un par de intentos me manda a una pagina con la Advertencia: La página ha caducado !. me acuerdo haber visto una ves un codigo en php que hacia este proceso en php.
Atte
Mauricio Gonzalez
  #6 (permalink)  
Antiguo 30/01/2006, 06:45
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
... primero debes entender qué es y cómo funciona PHP... es un lenguaje del lado del servidor, no puede "interactuar" directamente con algún evento que sucede del lado del cliente!; en pocas palabras, no puedes hacer algo como "onclick="<?php header("location:sgm....", no puedes condicionar un evento PHP con JavaScript...

... segundo, el mensaje de caducidad aparece porque fueron enviados datos por formulario (vía POST) al archivo que quieres visualizar. De esto se ha hablado mucho.

Lo que debes de hacer es dejar la parte donde procesas los datos del formulario independiente y redirecionar desde el servidor (con header), sin tener ninguna salida. Ilustrado:
Código PHP:
$var$_POST['var']; // quizá recibes el formulario
// haces los procesos que tengas que hacer (guardar en BD, validar, etc.)
// SIN imprimir nada en pantalla redireccionas
header("Location: resultado.php");
exit(); 
Ya en 'resultado.php' puedes mostrar un mensaje si es necesario (que supongo haces ahora) y hacer tu botón de "volver".

Tu código JavaScript lo que hace es regresar a la página anterior según el historial del navegador, y cómo el archivo donde procesaste el formulario no esta en el historial (no entregaste código, la redirección fue en el servidor) te "saltarás" dicho archivo iendo directamente al formulario.

Espero haberme explicado... es sencillo si sabes como trabaja PHP. Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 30/01/2006, 08:43
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 19 años, 6 meses
Puntos: 0
De acuerdo

Muchas gracias por responder. a ver si entendi. lo que hago es efectivamente submitar la misma pagina y a partir de los datos recibidos es lo que muestra, ya que si recibe "imprimir" despliega los datos listos para ser impresos, donde esta el boton volver. Y lo que tu me dices es que en una pagina haga el proceso y en otra muestre el resultado. de esta forma la pagina anterior estara en el historico.
Atte
Mauricio.
  #8 (permalink)  
Antiguo 30/01/2006, 09:34
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 19 años, 6 meses
Puntos: 0
aaah, otra cosa, el volver me funciona un par de veces?????.... es decir hago un imprimir, click al boton y vuelve, pero despues de otra consulta no lo hace.
Chutas, estoy bien enrredado con esto.
Atte
Mauricio
  #9 (permalink)  
Antiguo 31/01/2006, 09:38
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 19 años, 6 meses
Puntos: 0
De acuerdo

uf... hasta que me encontre con la solucion:
hay que usar la variable

$_SERVER[ "SCRIPT_NAME" ]

esta retorna el nombre del archivo de donde viene la pagina actual, asi que

echo $_SERVER['SCRIPT_FILENAME'];
con esta viene el path completo.

mas informacion en:
http://cl2.php.net/reserved.variables

hice una funcion que rescata este valor.
Atte
mauricio gonzalez

Última edición por maurimono; 31/01/2006 a las 11:41
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 14:49.