Las aplicaciones web están basadas en acciones, links, e interacción humana totalmente, lo que nos hace entender que si queremos guiar a los usuarios, debemos informarles de los resultados de sus acciones.
CodeIgniter cuenta con flashdata, que es un tipo de variable de sesión que se borra automáticamente después del siguiente request HTTP. Este tipo de variables es perfecto para mostrar mensajes de error, mensajes de éxito y notificar algo al usuario.
Por ejemplo, digamos que vamos a insertar una noticia:
En este caso, si se inserta la noticia correctamente se guardara una variable flash con el mensaje y se redireccionará.
Para mostrar el mensaje entonces en el view de la página donde se redireccionó al usuario tendríamos:
La ventaja de usar este tipo de variables para mostrar mensajes como respuestas a eventos, por ejemplo: Si uno hace refresh en la página donde está el mensaje, el mensaje desaparece, porque ese tipo de variables solo está vigente en la sesión hasta que se muestra una vez.
Hay tres variables que se pueden usar con las variables flash:
- set_flashdata($key, $value) guarda una variable flash
- flashdata($key) busca el valor de una variable flash
- keep_flashdata($key) hace que la variable perdure por más de un request.
Haciendo que el mensaje desaparezca luego de X segundos
Tenemos el mensaje, visible, informativo y no se puede ver mejor, ahora llego el momento de hacer que desaparezca solo, para eso nos vá a ayudar jQuery:
Esto bastaría para que el mensaje desaparezca lentamente duespues de cinco segundos.
















el 11 de Julio, 2009 a las 7:41
Tu no lo vas a creer pero a mi me gusta ver los mensajitos de flashdata y mas con jquery ejej… la gente que no sabe de “eto” se lo encuentra magnifico ejjeje
[Reply]
el 11 de Julio, 2009 a las 8:40
A mi particularmente me parece una solución magnífica de darle notificaciones a los usuarios cuando ellos hacen algo en nuestros websites, aparte de que con el efecto de que se escondan se ven
vacanisimos
[Reply]
el 11 de Julio, 2009 a las 18:39
Si utilizas setInterval el trocito que esconde el div se seguira ejecutando y se te puede hacer un lio si tienes que mostrar y esconder el div varias veces mas. Para hacerlo una sola vez utiliza window.setTimeOut()
[Reply]
el 11 de Julio, 2009 a las 19:30
Gracias José, corregido
[Reply]
el 13 de Julio, 2009 a las 2:55
Siempre mano, great blog btw.
[Reply]
el 22 de Julio, 2009 a las 10:27
[...] para programadores web en PHP+CI: Mensajes, avisos, flashdata… todo un inventazo en CodeIgniter, y muy [...]