Introducción al calendario PHP

  • Por
  • 21 de febrero de 2002
  • Valoración:
  • 5 Comentarios
  • Scripts en PHP
Vemos rápidamente los aspectos generales del ejercicio y proporcionamos unas referencias para poder seguirlo.
En este pequeño manual vamos a construir una página en PHP con un calendario, donde inicialmente se muestra el mes y año actual y por el que podremos navegar, a través de un formulario y enlaces, para mostrar otro mes y año cualquiera.

Podemos ver el ejercicio en funcionamiento para obtener una idea más exacta de los objetivos.

Este calendario, por si sólo, no tiene mucha utilidad, pero lo podremos utilizar para cualquier lugar donde necesitemos seleccionar fechas, por ejemplo una aplicación que implemente una agenda o, en general, en cualquier formulario donde queramos evitar que el usuario escriba las fechas a mano.

Aunque no se trata de un ejercicio demasiado difícil, resulta bastante largo de explicar. Es por ello que hemos preferido mostrarlo a lo largo de varios capítulos antes que hacer uno demasiado largo que canse al lector.

Actualizado: El Manual del Calendario PHP es una práctica PHP en la que mostramos paso a paso cómo realizar un calendario. Fue escrita en 2002, con lo que ya han pasado años en los que incluso se han presentado versiones nuevas de PHP. El código original estaba creado para PHP 4 y en noviembre de 2010 hemos revisado este manual para actualizar el código, de manera que se pueda ejecutar sin problemas en PHP 5.

Originalmente el calendario fue creado por Miguel Angel Alvarez, de DesarrolloWeb.com, pero luego varias personas se animaron a actualizarlo y a presentar modificaciones en las que se implementan nuevas funcionalidades. Algunas de estas personas nos enviaron el código de los calendarios, tal como los habían modificado y nosotros los hemos ido publicando en este mismo manual en capítulos siguientes.

De modo que en este manual se ofrecen en realidad diversos calendarios, todos creados a partir de la misma base. La base se relata en los capítulos iniciales (hasta el artículo "Otras funciones de la librería del calendario") y a partir de allí se muestran varias modificaciones que pueden resultar de interés para las personas.

Debemos aclarar que en DesarrolloWeb.com hemos actualizado el código del calendario PHP básico, pero no hemos tocado los códigos enviados por otros colaboradores (que pueden requerir una revisión para adaptarse a la versión de PHP más actual), ya que son materiales que tienen otra autoría de los cuales no nos responsabilizamos.

Además, a partir del artículo Utilizar el calendario para seleccionar una fecha se puede ver una modificación al calendario realizada por mí mismo y que en 2010 todavía sigue funcionando sin problemas. Esta modificación tampoco la he revisado en esta actualización, por la razón de que sigue ejecutándose correctamente en PHP 5.

Resumen del ejercicio

La aplicación calendario va a componerse por tres archivos, podía hacerse en uno, pero así creemos que resulta más claro a la hora de documentar y posteriormente al utilizarlo en otras aplicaciones.
  • Página ínice, index.php, donde el usuario accederá para ver el calendario.
  • Librería de funciones, calendario.php. Con varias funciones que vamos a utilizar dentro de la aplicación. Estará la función mostrar_calendario() y otras funciones de manejo de fechas. Esta librería es el elemento "portable" que podremos utilizar el otras aplicaciones.
  • Hoja de estilos, estilos.css. Esta hoja de estilos nos permitirá definir la forma del calendario, es decir, el tipo de letra, los colores, etc. Si alguno de vosotros desea cambiar estos estilos solamente debería actualizar esta declaración CSS.
Todos los archivos fuente del calendario se pueden descargar desde este enlace. Nos servirán para ponerlo en marcha en nuestro propio servidor y utilizarlo para otras aplicaciones que lo requieran. En el archivo de la descarga encontraréis varias versiones del calendario, puesto que se han hecho varias modificaciones, tal como podréis ver en el Manual del Calendario.

Referencias

Para entender este ejercicio es fundamental que el lector tenga conocimientos sobre diversas áreas del desarrollo de páginas web. En DesarrolloWeb.com podemos aprender todo lo que nos hace falta. Aquí tenemos los enlaces:
  • Sección sobre PHP. Con manuales y talleres que cubren los aspectos más importantes aspectos del lenguaje.
  • Manual de CSS. Para el que desee aprender el manejo de las hojas de estilo.
Nota: Si lo deseamos, podemos acceder a un calendario con Javascript. Sería otra forma de realizar un calendario sin utilizar PHP

Para acabar, dejamos un enlace para ver el calendario en funcionamiento. Y os encaminamos al siguiente artículo, donde veremos el archivo índice del calendario.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Comentarios

macarena_amezqueta-294664

21/8/2009
Acerca del calendario
Hola, cuando baje el ejemplo esperaba otra cosa.

-El codigo html está mal, algunas etiquetas abren y no cierran o cierran en diferente orden.

-No se tiene en cuanta como esta configurado el servidor en cuanto a las variables. En el index se llama a la variable recibida por el POST de esta manera $mes = $nuevo_mes; lo cual da por sentado que el php.ini esta configurado de esa forma. Para un programador sin experiencia no va a andar y no va a saber porque no funciona

-si bien las funciones que arman el calendario funcionan son muy desprolijas, se van concatenando las cosas directamente, hay funciones que no tienen sentido, cosas que se puede resolver con una linea con un array se resuelve con una funcion extensa con switch

-las funciones dirctamente realizan los echo, cuando lo mas logico seria que la funcion haga un return $variable y que el echo se haga desde el index

$primera_fila = formularioCalendario($mes,$ano);
echo $primera_fila;


Creo que fomentando este tipo de programacion desprolija solamente perjudicamos a los programadores que no tienen experiencia y que como autodidactas tratan de aprender por sus propìos medios y adoptan esta metodologia de trabajo.

Quisiera que mi comentario sea publicado.
Muchas gracias

alex

03/11/2009
calendario
que padre que existan lugares en donde realmente quieran ayudar alos demas

danilo_nino

03/5/2010
sobre el error del calendario
el error se debe donde sale
<? , al inicio y de deberia estar asi <?php

eugim

17/11/2010
Contestando a Macarena sobre el calendario y el código de mala calidad
Hola Macarena,

Lamento que te hayas llevado esa mala impresión. El código del calendario fue creado en 2002 y es verdad que no tenía mucha calidad, pero te comento los motivos.

- Mis costumbres de codificar eran bien distintas. Tenía menos experiencia y me preocupaba más en que las cosas funcionasen, que en asegurarme que estaba el código correcto en todos los sentidos.
- Estaba realizado con PHP 4 y actualmente no funcionaba bien.

Hemos actualizado el código del calendario básico en 2010 y te aseguro que ahora tiene mucha más calidad.

He publicado además una nota aclaratoria en este mismo artículo comentando otras cosas:

- Muchas personas nos enviaron modificaciones de este calendario y las hemos ido publicando sin revisión detallada por nuestra parte.
- Las modificaciones del calendario no son mías, por lo que DesarrolloWeb.com no se responsabiliza la calidad del código realizado por terceras personas.

Dicho esto, sirva para entender que esto es más bien una práctica que explica cómo se puede realizar un calendario, pero no un script completo y cerrado para poner un calendario en producción.

Tengo intención de retomar este calendario, pues muchas personas se han interesado, y hacer un componente web más compacto. Cuando sea código mío y actualizado se podrá ver porque firma el autor Miguel Angel Alvarez y hay que comprobar la fecha de los artículos para ver cuándo fueron escritos y los comentarios cuando haya para decir si se ha actualizado o no.

soymaloxd

06/10/2011
ayuda....!!!!!!!!!!!!!!!!!!!!
amigos muy buenos dias para todos.

soy nuevo en este foro y me pregunto si alguno de ustedes me puede ayudar con una aplicacion wed php con mysql que debe hacer lo siguiente:

una biblioteca comunitaria necesita realizar una aplicacion que permita ingresar,guardar,activar y desactivar usuarios de dicha biblioteca.

para desactivar un usuario de debera suceder alguno de los siguientes casos:

1- que se haya pasado de la fecha de entrega .en tal caso , el usuario quedara inhabilitado por 30 dias (fecha calendario).
2-solo tendra dos prestamos . si quiere otro libro,primero debera devolvercer lbroer uno de los lbros que tiene en su poder en ese momento.si intenta prestar un tercer libro automaticamente sera bloqueado.
3-cuando un usuario ha tenido una sancion anterior se reducira el tiempo de prestamo a 5 dias.si tene dos o mas sanciones el tiempo de prestamo se reducira a 3 diasn si el tiene mas de 3 sanciones, no podra reallizar prestamos.

les agradeceria infinitamente al que me ayuden hacer tansiquiera la base de datos y el codigo php yo hare el resto. el proyecto es para poder graduarme gracias... saludos a todos

Compartir