> Manuales > Calendario PHP

Aplicación PHP y MySQL de agenda en la que los usuarios pueden enviar imágenes y comentarios a un día concreto del calendario.

Por medio de este artículo estoy liberando una modificación del Calendario PHP publicado en DesarrolloWeb.com, que deseo compartir con la comunidad. No se trata de algún pequeño cambio aquí y allá, sino de una ampliación de ese componente de calendario, que lo convierte en una aplicación web completa de agenda.

De paso, con esta aplicación web deseo contestar algunas de las preguntas de los lectores de este manual, que se cuestionan acerca de cómo utilizar este calendario para meter las fechas en MySQL. En realidad lo que ofrezco ahora es bastante más que unas simples inserciones de fechas en una tabla de la base de datos, puesto que se trata de una aplicación web con cierta complejidad en la que se realizan todo tipo de operaciones sobre base de datos. No obstante, con un poco de observación, los interesados podrán localizar fácilmente los lugares de los scripts donde se insertan las fechas en la base de datos.

Mi intención era tener un calendario, o quizás sería mejor llamarlo agenda, donde un usuario pudiera interactuar con ella, subiendo imágenes y comentarios con un enlace a otra página donde se explicaría más detalladamente el contenido. Todo ello con unos niveles básicos de seguridad, para que el usuario tenga que hacer login, de modo que solo pudiera acceder a esas funcionalidades el usuario que está registrado y que conoce su contraseña.

Para ello, he creado dos tablas en la base de datos MySQL. Una para que recogiera las imágenes y otra para el login. La implementación de los script ha sido hecha con funciones básicas de PHP.

Del calendario, que está explicado en el Manual del Calendario PHP y funciona correctamente, no he modificado nada. No obstante, he incluido un poquito de código en la función mostrarcalendario($mes,$ano), con las llamadas a mis funciones de PHP, creadas para implementar la utilidad de la agenda. Por otra parte, en estilos.css he creado una class .tablacalendario, que sirve simplemente para hacerlo algo más grande. El resto está compuesto por formularios que recogen los datos y procesos PHP para realizar las funciones.

La aplicación web realizada la he comprimido en un ZIP y la pongo a disposición para el que desee descargarla a través de este enlace: Descarga los archivos PHP con el código de la agenda con imágenes.

A continuación voy a dar algunos otros detalles sobre el proyecto que he realizado, para que cualquier persona pueda, no solo poner en marcha esta aplicación web, sino entender cómo se ha desarrollado.

Creación de la Base de datos

A continuación hago un detalle de las tablas utilizadas en el programa, una para realizar todos los procesos con las imágenes y otra para recoger los datos del usuario que ha de hacer la identificación.

Tabla para guardar las imágenes:

CREATE TABLE tablaimagenes(
id int (5) NOT NULL auto_increment,
conta int (5) NOT NULL,
nombreArchivo varchar(255) NOT NULL,
nomImagen varchar(100) NOT NULL,
imagenGrande varchar(255) NOT NULL,
dia int(3) NOT NULL,
mes int(3) NOT NULL,
ano int(5) NOT NULL,
PRIMARY KEY id)
TYPE=MyISAM;

Tabla para guardar los datos de login de usuarios:

CREATE TABLE userlogin(
usuario varchar(16) NOT NULL,
clave varchar(16) NOT NULL,
otraClave varchar(16) NOT NULL,
cambioClave varchar(16) NOT NUL,
PRIMARY KEY usuario)
TYPE=MyISAM;

Páginas o scripts que contiene la aplicación web

Para que cualquier persona pueda entender bien qué hace cada archivo y aprender con mayor facilidad los procesos que he utilizado para el desarrollo de esta aplicación. Estas son las páginas que componen la estructura del calendario modificado:

index.php //Aquí no he modificado nada
   calendario.php //Sólo he modificado la función
// mostrar_calendario($mes,$ano)
estilos.css //Sólo he modificado .tablacalendario
//para hacer el calendario más grande
bd_login.php //Acceso a la base de datos del login
login.php //Formulario de identificación
loginImagen.php //Para verificar los datos del formulario
botonRedirige.php //Para elegir subir, borrar un archivo
//o cambiar la clave del usuario.
baseDatos.php //Acceso a la base de datos de las
//imágenes.
formulSubir.php //Formulario que recoge los datos
//a subir.
procesoCalen.php //Procesa los datos del formulario
formulBorrar.php //Formulario para borrar algún archivo
procesoBorrar.php // Procesa los datos a borrar
formulCambioClave.php //Formulario para cambiar clave
//si el usuario lo desea
cambioClave.php //Procesa el cambio de la clave
//del usuario
detalleTablas //Detalle de la configuración de las tablas

Queda pendiente el registro en la BD de los datos del usuario, pero como en DesarrolloWeb.com hay buenos manuales que lo explican mejor de lo que pueda hacerlo yo, no creo necesario extenderme más sobre ese tema.

Para explicar todos los scripts contenidos en esta aplicación he creado una serie de documentos, donde está el código de cada página PHP, junto con una explicación general y una serie de comentarios que podrán guiar a los interesados.

Todas esas explicaciones las podremos encontrar en este paquete de archivos comprimidos.

Conclusión

Así que eso es todo, espero que, entre los códigos de la aplicación y mis comentarios contenidos en los documentos de texto, cualquier persona con un poquito de interés pueda aprender a hacer una agenda abierta a la participación de los usuarios.

Angel Fernández Suárez

Contable y, en ratos libres, aficionado a la programación.

Manual