Foros del Web » Programando para Internet » PHP »

Navegación desde php

Estas en el tema de Navegación desde php en el foro de PHP en Foros del Web. Estoy desarrollando una apliación en php y necesito evitar que el usuario pueda navegar a través de las páginas mediante las flechas que hay en ...
  #1 (permalink)  
Antiguo 26/03/2011, 17:39
 
Fecha de Ingreso: marzo-2011
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Navegación desde php

Estoy desarrollando una apliación en php y necesito evitar que el usuario pueda navegar a través de las páginas mediante las flechas que hay en la parte superior de los navegadores (history.go).

¿Se puede, mediante comandos php o sentencias javascript, hacer que la navegación a través de la aplicación no quede reflejada en el history?

Cualquier ayuda o sugerencia será bienvenida.

Muchas gracias a todos.
  #2 (permalink)  
Antiguo 26/03/2011, 17:43
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Navegación desde php

Podrias simplemente cargar el php dentro de un Iframe y ya.
  #3 (permalink)  
Antiguo 26/03/2011, 20:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Navegación desde php

¿Cuál es el motivo? También puedes crear toda tu aplicación usando peticiones mediaten ajax. Pero es preferible que indiques la razón por que no quieres que se refleje en el historial.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 27/03/2011, 10:45
 
Fecha de Ingreso: marzo-2011
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Navegación desde php

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Cuál es el motivo? También puedes crear toda tu aplicación usando peticiones mediaten ajax. Pero es preferible que indiques la razón por que no quieres que se refleje en el historial.
Estoy desarrollando una aplicación similar al típico carrito. Una vez terminado todo el proceso y grabados los datos en base de datos, envio al usuario a la pantalla inicial del proceso, por si quiere realizar una compra nueva.

Pretendo que el usuario siga el proceso lógico de la aplicación, mediante botones e hipervínculos, que permiten controlar lo que está haciendo y como se hace (control de stock, etc.)

Sin embargo, si el usuario navega mediante las flechas aparecen nuevamente las pantallas anteriores, activas en cuanto a funcionalidad. Es como si el usuario teclea una url con parámetros y se actúa sobre la base de datos. Simplemente NO DEBE PODER.

Por eso estoy intentando inhibir las flechas de navegación. Si en lugar de eso se os ocurre otra cosa, bienvenida sea.

Miraré los iframe que me indica InKarC, a ver si no me obliga a deshacer mucho de lo que tengo hecho.
  #5 (permalink)  
Antiguo 27/03/2011, 11:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Navegación desde php

Una forma sencilla de hacerlo es ingresando al inicio de todo código estas cabeceras
Código PHP:
Ver original
  1. <?php
  2. header("Expires: Fri, 09 Mar 2001 10:17:17 GMT"); // Date in the past
  3. header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
  4. header("Cache-Control: post-check=0, pre-check=0",false);
  5. header("Cache-Control: no-store, must-revalidate"); // HTTP/1.1
  6. header("Pragma: no-cache"); // HTTP/1.0
Eso fuerza al navegador a recargar el contenido y si trata de regresar verifica la información. Lo otro que puedes hacer es hacer peticiones que se procese todo en el PHP y no enviar nada de contenido al navegador si no que al final de ese proceso redirigirlo hacia la página que mostrará la información. Eso hará que no se grabe en el navegador las peticiones que hizo el usuario. Aunque siempre usaría lo que te indique para que así siempre recargue el contenido.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 27/03/2011, 12:30
 
Fecha de Ingreso: marzo-2011
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Navegación desde php

abimaelrc : he añadido las cabeceras que me dices en mis páginas php, lo he vuelto a probar todo y sigo teniendo el mismo problema. Navegando llego a la página que quiera, eso sí; me sale una ventanita diciéndome que debe reenviar los datos; pero si el usuario acepta, estamos en las mismas.

Se reenvían los datos, la página los procesa y se duplican los datos en la base de datos.
  #7 (permalink)  
Antiguo 27/03/2011, 12:38
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Navegación desde php

Pues haz lo segundo que te indique, de enviar las peticiones a otra página que haga el proceso de php, sin enviar nada al navegador y al final rediriges usando
Código PHP:
Ver original
  1. header('Location: pagina_a_redirigir.php');
De esa forma vas a ver que no se puede duplicar el contenido, también te recomiendo que hagas un select antes de enviar la petición para verificar si el contenido que está enviando el usuario es diferente a lo que está añadiendo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 27/03/2011, 13:26
 
Fecha de Ingreso: marzo-2011
Mensajes: 17
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Navegación desde php

Cita:
Iniciado por abimaelrc Ver Mensaje
Pues haz lo segundo que te indique, de enviar las peticiones a otra página que haga el proceso de php, sin enviar nada al navegador y al final rediriges usando
Código PHP:
Ver original
  1. header('Location: pagina_a_redirigir.php');
De esa forma vas a ver que no se puede duplicar el contenido, también te recomiendo que hagas un select antes de enviar la petición para verificar si el contenido que está enviando el usuario es diferente a lo que está añadiendo.
Muchas gracias abimaelrc.

Seguiré esta linea que me indicas, a ver si lo consigo.

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 15:13.