Foros del Web » Programando para Internet » PHP »

Volver atrás sin reenviar datos del formulario

Estas en el tema de Volver atrás sin reenviar datos del formulario en el foro de PHP en Foros del Web. Hola a todos. Me interesaría saber si hay alguna manera de, al pulsar sobre los botones del navegador "Ir a la página anterior" / "Ir ...
  #1 (permalink)  
Antiguo 12/04/2011, 06:45
 
Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 13 años, 2 meses
Puntos: 4
Volver atrás sin reenviar datos del formulario

Hola a todos.

Me interesaría saber si hay alguna manera de, al pulsar sobre los botones del navegador "Ir a la página anterior" / "Ir a la página siguiente", se pueda ir a la página correspondiente, pero sin reenviar los datos del formulario de la página a la que se está accediendo. Es decir, me interesaría que simplemente cargue la página original, no que "reproduzca" las posibles acciones derivadas del formulario. Es que en casi todas las páginas de mi aplicación se producen acciones: de base de datos, de refresco, etc... y claro, si el usuario se mueve mediante los links propios de la web no hay problema. Pero si va mediante los botones de "adelante/Atrás", trata de reenviar el formulario, y eso no me interesa. Sólo que cargue la página como si fuese la primera vez.

Hay alguna manera?
  #2 (permalink)  
Antiguo 12/04/2011, 06:47
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, 11 meses
Puntos: 1517
Respuesta: Volver atrás sin reenviar datos del formulario

Te recomiendo que hagas una búsqueda en el foro, es una situación que ocurre entre muchos usuarios y se han dado varias sugerencias de como evitar lo que estás preguntando.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 12/04/2011, 08:38
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 6 meses
Puntos: 16
Respuesta: Volver atrás sin reenviar datos del formulario

yo lo hago asi:
tengo el FORMLUARIO apunto a GUARDARDATOS.php ahi se realiza todo el SAVE y de ahi al final colocas:

echo "<meta http-equiv='refresh' content='0;URL=paginaquemuestrasdespuesdeguardar.p hp'>";

con eso el boton de atras ira al FORMULARIo y no asi a GUARDARDATOS, otra cosa que puedes hacer para que no tengar datos duplicados, es usar AJAX para guardar la info de un form.

Si te sirvo dale a mi KARMA

Salu2
__________________
Msn: [email protected]
  #4 (permalink)  
Antiguo 12/04/2011, 10:39
 
Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Volver atrás sin reenviar datos del formulario

ooole! gracias ikaroraul!!! genial!! No lo he podido probar, pero claro! por lo que dices debería funcionar!! excelente solucion! pero hacerlo con ajax... es que leí no sé dónde que mejor no abusar de ajax, que el ajax mejor sólo usarlo para pequeñas validaciones. pero es mejor no sobrecargar la página con trabajo ajax. ¿estás de acuerdo? bueno, en fin, lo haré a partir del GUARDARDATOS.php Pero ahora que lo pienso. Si tengo 250 webs dentro de la aplicacion, que deberia crearme 250 "GUARDARDATOS.php" uno para cada página?? por que sino tendría que crearme un mega GUARDARDATOS.php capaz de recoger variables de cualquer formulario de cualquiera de las 250 páginas... mejor una para cada web, no crees??
  #5 (permalink)  
Antiguo 12/04/2011, 10:44
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 6 meses
Puntos: 16
Respuesta: Volver atrás sin reenviar datos del formulario

pues depende de quetrate tu aplicacion... pero bastaria con manejar ID's en un solo GUARDARDATOS no te compliques. si das mas detalle de tu problema alguna solucion podemos encontrar...

Dale aumentame mi KARMA

Me olvidaba, sobre AJAX yo uso muchiiiiisimo para crear Aplicaciones Web, es lo mejor que pudo pasarnos a los desarrolladores, no veo cual seria el problema. saludos maestro
__________________
Msn: [email protected]
  #6 (permalink)  
Antiguo 13/04/2011, 03:46
 
Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Volver atrás sin reenviar datos del formulario

Pues te cuento. Se trata de una aplicación, y está formada por unas 250-300 páginas web. Cada una de ellas tiene su formulario con sus campos. Y, en cada página, se puede interactuar con la base de datos ( insertar, eliminar, modificar). ¿Cómo se hace ? Pues a partir de un botón, se informa uno de esos campos del formulario, por ejemplo "campo_chivato" y se le da el valor "G". Después de esto se recarga la página. Al recargar, la página evalúa "campo_chivato". si vale "G" hay que realizar alguna acción con la base de datos. Claro, para eso necesita los campos del formulario. Y, lógicamente, en una web habrá unos campos y en otra, pues otros que no tengan nada que ver. Por eso te decía que no puede hacerse un GUARDARDATOS.php único. Debe haber uno para cada web. Pero vamos, que no lo veo ningún drama. Sería coger el código que tengo en mi web, donde realizo el trabajo cno la base de datos, y externalizarlo en un fichero del tipo: NOMBREWEB_ACCIONBD.php Es que sino, ya me dirás como puedo saber a qué tabla he de insertar, y que campos debo tomar... De momento, aunque AJAX parece buena solución, prefiero emplear el método tradicional de la recarga. Pero en cuanto pueda ya me pondré manos a la obra...

Por cierto, sí te estoy dando Karma, no te aumenta??!! Le doy al simbolito de "Karna", pongo un comentario, y me dice que te he dado Karma. No te ha aumentado??
  #7 (permalink)  
Antiguo 13/04/2011, 03:58
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 6 meses
Puntos: 32
Respuesta: Volver atrás sin reenviar datos del formulario

Tambien puedes usar
header("locattion:/pagina_web.php");

Justo cuando grabes los datos introduce el header, lo que hará es redirigir a la dirección que le pongas, pero cuiadado, el header tiene que ir antes de mostrar algo por pantalla.

Saludos.
  #8 (permalink)  
Antiguo 17/07/2011, 11:20
 
Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Volver atrás sin reenviar datos del formulario

sé que es tarde... muuuuy tarde, pero por desgracia tuve que dejar el proyecto y por lo tanto el problema "desapareció". Pero me he vuelto a poner manos a la obra... y simplemente darte las gracias gogupe. Es posible que fuese una pregunta básica. No lo sé, pero es impresionante!!!!!!!!!!!! Millones y millones de gracias!!!!!!!!!!! Con una simple línea de código has solucionado lo que para mi era un problemón!!! Muchísimas gracias... muy grande!!! Lo que ya sería genial es que alguien pudiese aclarme el concepto de header "location". Por más que miro en la web, se dice que sirve para "redireccionar". Pero algo más debe hacer, no? Porque si una página envía datos de un formulario, ésta los recoge, los inserta y después se coloca el header("location:./pagina2.php"); entiendo que después de la inserción, se acceda a "pagina2.php", pero si después le doy al botón de volver atrás... ¿porque no me pide si quiero enviar los datos del formulario? ( que ojo, ya me está bien, eh? es justo lo que quería )

Etiquetas: reenviar, volver, formulario
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 02:58.