Proyecto de programación web realizado para Tiporium como complemento para su calendario artesanal del 2019.
Requerimientos del proyecto:
- Elaborar un formulario web que permita al usuario introducir un evento en un calendario público.
- El formulario debía contener los campos “remitente” “destinatario” “mensaje” y un enlace a un contenido de youtube.
- Si la fecha y hora elegidas ya se encuentran ocupadas, el sistema asignará la fecha mas cercana disponible el evento que el usuario esté creando.
- Crear una página de visualización accesible mediante un código QR impreso en los calendarios físicos. Obtener la fecha actual del usuario y mostrar el evento correspondiente a la hora actual o, si no existe ningún evento coincidente, mostrar el último evento pasado.
- En caso de que no exista ningún evento correspondiente, mostrará la última dedicatoria disponible.
- El formulario notificará la introducción del evento enviando un correo electrónico al destinatario. El correo debe adjuntar un enlace para visualizar el evento de manera directa.
- El formulario debe incluir un filtro de palabras obscenas.
Implementación del calendario web
Para ello, utilicé tecnología PHP, MySQL y algo de JAVASCRIPT.
El proyecto consta de una base de datos MySQL que almacena los datos del formulario de creación de eventos, una página PHP con el formulario de subida, una página PHP para mostrar el evento y un fichero con las palabras a utilizar con el filtro.
Tras generar la base de datos, implementé el formulario de subida de eventos, que no era mas que un formulario PHP. Lo único remarcable de ésta parte del proyecto fue la implementación de un código de seguridad para poder enviar el formulario, el cual se encuentra impreso en los calendarios físicos.
Una vez que la subida de eventos funcionaba correctamente, pude empezar a trabajar con la visualización de los eventos.
Destacar en esta última parte del proceso, el método de comprobación de la hora del usuario para mostrar el evento adecuado. Al trabajar con PHP solo podemos rescatar sin muchas complicaciones la hora del servidor donde están alojadas las webs y no la hora del usuario, así que encontré una solución mediante Javascript ejecutado en el navegador del cliente.
Así mismo, implementé en la página de visualización el filtro de palabras, analizando el texto a mostrar y sustituyendo las palabras incluidas en la lista por los caracteres *******.