Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Actualizar navegador sin ejecutar POST

les quiero plantear una duda que tengo... Yo tengo un formulario que es enviado a la misma pagina index.php en donde está (action="index.php") mediante el método POST. Mi problema es el siguiente:

1) El usuario hace el submit del formulario (y almacena los contenidos del formulario en una base de datos).

2) La página se recarga (sobre si misma) y si, una vez recarada la pagina, el usuario hace click en el boton ACTUALIZAR del navegador y la consulta SQL se vuelve a ejecutar. Por lo tanto... sale un error porque no puede ingresar dos veces el mismo registro, lo cual está bien (ya que uno de los campos del formulario sirve como clave primaria de una tabla).

Mi pregunta: Cómo puedo hacer para que al recargar la página, por más que el usuario haga click en el botón ACTUALIZAR del navegador, no se vuelva a ejecutar el POST que estaba cargado?? Se entiende??

La FAQ Actualizar navegador sin ejecutar POST tiene Pertenece a la categoría:


 Respuesta de Jorge Molina  23/8/06 
Pon una página intermedia que haga el proceso y que reenvié a la página final. De esta forma al actualizar el usuario solo recargara la página que le dice que todo se hizo correctamente.

La pagina intermedia debe redireccionar mediante un header a la pagina de "envío correcto" o de "error" según corresponda. Para este redireccionamiento deberías usar un header del tipo:
header("Location:paginaok.php");

Y recordar que en esta pagina no se debe imprimir nada solo redireccionar a la página con contenido.

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

 Comentarios de los visitantes
Se muestra un comentario revisado

 Comentario de Marcelo
07/9/06 
Hola!

Otra solución sería que no tengas un botón tipo submit sino uno tipo button. Este último debe llevar OnClick con una función JS que haga submit al formulario.

Ejemplo:
<html>
..
function enviar() {
document.forms[0].submit();
};

<body>
..
<input name="Bot_GRABAR" type="button" value="Grabar" onClick="enviar();">
..
</body>
</html>

Ojalá te sirva... desde hace tiempo que no hago páginas web.

 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 10 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
 
FAQ relacionadas
  + Utilizar PHP en IIS en Windows XP
  + Dónde aprender PHP
  + Implementar una capa de autentificación con PHP
  + Qué elegir ASP o PHP
  + Con qué tecnología programo una página
  + Porque no recibo el código PHP o ASP de las páginas?
  + Inhibir la presentación de errores en PHP
  + Lo necesario para empezar a programar en PHP y ASP
  + Hacer gráficas de líneas con datos recogidos de una base
  + Función en PHP análoga al redirect de ASP.
  + Sistema de seguridad por usuario y contraseña en PHP
  + ¿Cómo puedo insertar una función EDIT y BORRAR?
  + ¿Cómo puedo implementar música en un sistema de envío de postales?
  + Tengo un problema a la hora de implementar un scroll.
  + Comparar cadenas sin importar mayúsculas ni acentos
  + Las sentencias SQL que lanzo desde PHP no actualizan la base de datos
  + Flash no carga en PHP
  + Extensión phtml
  + Empezar a programar
  + Caracteres en PHP
  + Problema con Paginator
  + Qué es htaccess
  + Separar código HTML y PHP
  + Imágenes dinámicas con PHP
  + Web Service con PHP
  + PHP 5
  + El http.conf
  + Cómo empezar con PHP 5
  + METAS en PHP
  + Problema con enlaces
  + Webs iguales con urls distintas
  + Expresiones regulares
  + PHP 5
  + Comprobar si una variable es un array en PHP
  + Headers already sent error
  + Bloquear el botón volver
  + Puntos decimales
  + Array en PHP
  + Libreria GD
  + Carácter @ en código PHP
  + ...

Para ver más FAQ relacionadas accede a las categorías:

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia