martes, noviembre 16, 2004

Paginas de proceso de datos

En nuestra vida como Desarrolladores Web nos encontraremos muchas veces frente a la tarea de hacer formularios en donde los usuarios deberán ingresar información que será almacenada en una base de datos.

Esta tarea, que es tan sencilla como aburrida, hace caer a muchos en uno de los errores más comunes: el terrible F5 destructor. ¿Qué es eso?

Por lo general, para realizar este trabajo, creamos una página con un formulario cuyo destino es la misma página. De esta forma es mucho más sencillo validar del lado del servidor los datos ingresados y, en caso de error, mostrar un mensaje al usuario manteniendo los datos que ha ingresado previamente.

Hasta acá está todo muy bien, pero he visto muchas veces que una vez guardado los datos, se muestra un mensaje de éxito … ¡en la misma página!
Esto significa que si el usuario presiona F5 y recarga la página, el proceso de guardar los datos se ejecutará nuevamente. Este error es muy común cuando usamos objetos como el DataGrid de .NET.

Imaginemos ahora que en lugar de almacenar los datos, debemos enviar un mail. ¿Qué pasará cuando el usuario presione F5?

El peligro que esto encierra es variado y puede ir desde una sobrecarga en el uso de recursos hasta grabar datos repetidos.

Por extensión, se podría decir que: "Toda página de proceso exitoso debe concluir en un Redirect".

No hay comentarios.: