Introducción al desarrollo web con PHP 5
Ejercicios
Universidad de Córdoba
martes, 2 de noviembre de 2010
Índice de contenidos
Introducción............................................................................................
Av. Tenor Pedro la Virgen s/n (CADE)
Córdoba (España)
tlf. 957 40 61 40
Introducción
En este documento, el alumno encontra...
Av. Tenor Pedro la Virgen s/n (CADE)
Córdoba (España)
tlf. 957 40 61 40
Relación de ejercicios
A continuación, se detallan...
Av. Tenor Pedro la Virgen s/n (CADE)
Córdoba (España)
tlf. 957 40 61 40
Ejercicio 04
Construir una aplicación con dos pant...
Av. Tenor Pedro la Virgen s/n (CADE)
Córdoba (España)
tlf. 957 40 61 40
CREATE TABLE IF NOT EXISTS `alumno_asignatura` (
`...
Av. Tenor Pedro la Virgen s/n (CADE)
Córdoba (España)
tlf. 957 40 61 40
Desarrollo de un blog
A continuación, se detallan ...
Av. Tenor Pedro la Virgen s/n (CADE)
Córdoba (España)
tlf. 957 40 61 40
Título de la publicación.
▪ value
Contenido de la ...
Av. Tenor Pedro la Virgen s/n (CADE)
Córdoba (España)
tlf. 957 40 61 40
-- -----------------------------------------------...
Av. Tenor Pedro la Virgen s/n (CADE)
Córdoba (España)
tlf. 957 40 61 40
Requisitos del sistema
El problema a resolver se c...
Av. Tenor Pedro la Virgen s/n (CADE)
Córdoba (España)
tlf. 957 40 61 40
columna a la derecha dónde se muestran los gadget ...
Av. Tenor Pedro la Virgen s/n (CADE)
Córdoba (España)
tlf. 957 40 61 40
seguido de la fecha de creación.
El título ha de s...
Av. Tenor Pedro la Virgen s/n (CADE)
Córdoba (España)
tlf. 957 40 61 40
Gadget de autenticación
Situado en las parte o col...
Av. Tenor Pedro la Virgen s/n (CADE)
Córdoba (España)
tlf. 957 40 61 40
Se ha de mostrar una lista los meses anteriores al...
Upcoming SlideShare
Loading in...5
×

Iniciación PHP 5. Ejercicios

2,618

Published on

Listado de ejercicios a presentar por los alumnos en el curso "Introducción al desarrollo web con PHP 5".

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,618
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
155
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Iniciación PHP 5. Ejercicios

  1. 1. Introducción al desarrollo web con PHP 5 Ejercicios Universidad de Córdoba martes, 2 de noviembre de 2010
  2. 2. Índice de contenidos Introducción........................................................................................................................................ 3 Relación de ejercicios......................................................................................................................... 4 Ejercicio 01.......................................................................................................................................4 Ejercicio 02...................................................................................................................................... 4 Ejercicio 03...................................................................................................................................... 4 Ejercicio 04...................................................................................................................................... 5 Desarrollo de un blog......................................................................................................................... 7 Datos necesarios.............................................................................................................................7 Script de creación de la base de datos..........................................................................................8 Requisitos del sistema.................................................................................................................. 10 Listado de artículos...................................................................................................................10 Detalle de un artículo................................................................................................................ 10 Nuevo artículo............................................................................................................................11 Editar artículo............................................................................................................................12 Gadget de autenticación........................................................................................................... 13 Gadget de publicaciones anteriores..........................................................................................13
  3. 3. Av. Tenor Pedro la Virgen s/n (CADE) Córdoba (España) tlf. 957 40 61 40 Introducción En este documento, el alumno encontrará la relación de ejercicios que ha de codifcar para obtener una mejor puntuación a la fnalización del curso. Adicionalmente, también se especifca el enunciado y material necesario para el desarrollo del trabajo optativo, “Desarrollo de un blog”. El material elaborado habrá que entregarlo en un documento con formato PDF a la dirección de correo cristina.quintana@fai.es antes del domingo 28 de noviembre de 2010. Como se especifca en el programa, las dos últimas clases presenciales del curso se dedicarán a las dudas surgidas en la resolución de los ejercicios detallados en este documento. http://www.fai.es Página 3 de 14
  4. 4. Av. Tenor Pedro la Virgen s/n (CADE) Córdoba (España) tlf. 957 40 61 40 Relación de ejercicios A continuación, se detallan los enunciados de los ejercicios a desarrollar. Ejercicio 01 Dado un número en formato numérico comprendido entre 1 y 99, imprimirlo en formato texto. Construir un formulario para la recepción de datos e implementar la validación de los mismos. Ejercicio 02 Dado un día, mes y año, imprimir el día de la semana al que pertenece. El mes se introducirá en formato texto. Construir un formulario para la recepción de datos e implementar la validación de los mismos. Ejercicio 03 Construir una clase que contenga la lógica necesaria para dibujar un calendario con el que se muestra en la siguiente imagen. El código a utilizar para renderizar el calendario es: <?php // Dibuja el calendario del mes actual $calendar01 = new MyCalendar(); $calendar01->render(); // Dibuja el calendario del mes de agosto $calendar02 = new MyCalendar( "agosto", 2010 ); $calendar02->render(); http://www.fai.es Página 4 de 14
  5. 5. Av. Tenor Pedro la Virgen s/n (CADE) Córdoba (España) tlf. 957 40 61 40 Ejercicio 04 Construir una aplicación con dos pantallas: 1. Listado de asignaturas Cada asignatura será un enlace al listado de alumnos matriculados en ésta. 2. Listado de alumnos de una asignaturas Mostrar el nombre de la asignatura y los datos de sus alumnos matriculados. Los datos necesarios para la conexión a la base de datos son: Host server.fai.es Base de datos curso_php Usuario curso Contraseña curso_2010 Si se desea utilizar la base de datos en entorno local, el script para la creación es el siguiente: -- -- Base de datos: `curso_php` -- -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `alumno` -- DROP TABLE IF EXISTS `alumno`; CREATE TABLE IF NOT EXISTS `alumno` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `nombre` varchar(255) NOT NULL, `apellidos` varchar(255) NOT NULL, `email` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=81 ; -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `alumno_asignatura` -- DROP TABLE IF EXISTS `alumno_asignatura`; http://www.fai.es Página 5 de 14
  6. 6. Av. Tenor Pedro la Virgen s/n (CADE) Córdoba (España) tlf. 957 40 61 40 CREATE TABLE IF NOT EXISTS `alumno_asignatura` ( `alumno_id` bigint(20) NOT NULL DEFAULT '0', `asignatura_id` bigint(20) NOT NULL DEFAULT '0', PRIMARY KEY (`alumno_id`,`asignatura_id`), KEY `alumno_asignatura_asignatura_id_asignatura_id` (`asignatura_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `asignatura` -- DROP TABLE IF EXISTS `asignatura`; CREATE TABLE IF NOT EXISTS `asignatura` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `nombre` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; -- -- Filtros para la tabla `alumno_asignatura` -- ALTER TABLE `alumno_asignatura` ADD CONSTRAINT `alumno_asignatura_alumno_id_alumno_id` FOREIGN KEY (`alumno_id`) REFERENCES `alumno` (`id`), ADD CONSTRAINT `alumno_asignatura_asignatura_id_asignatura_id` FOREIGN KEY (`asignatura_id`) REFERENCES `asignatura` (`id`); http://www.fai.es Página 6 de 14
  7. 7. Av. Tenor Pedro la Virgen s/n (CADE) Córdoba (España) tlf. 957 40 61 40 Desarrollo de un blog A continuación, se detallan los datos necesarios para el desarrollo del blog y las características que ha de cumplir en su ejecución. Datos necesarios Los datos necesarios para la conexión a la base de datos son: Host server.fai.es Base de datos curso_php_blog Usuario curso Contraseña curso_2010 La base de datos consta de la siguiente estructura: • Tabla user Contenido de los datos del usuario con privilegios. Columnas de la tabla: ▪ name Nombre del usuario. ▪ last_name Apellidos del usuario. ▪ username Nombre con el que el usuario accede a la aplicación. Este dato es único para cada usuario. ▪ password Clave con la que el usuario accede a la aplicación. • Tabla article Contenido de los artículos introducidos por usuarios privilegiados. Columnas de la tabla: ▪ created_at Fecha de registro de la publicación. ▪ title http://www.fai.es Página 7 de 14
  8. 8. Av. Tenor Pedro la Virgen s/n (CADE) Córdoba (España) tlf. 957 40 61 40 Título de la publicación. ▪ value Contenido de la publicación. ▪ user_id Identifcador del usuario que ha publicado el nuevo contenido. • Tabla comment Contenido de los comentarios introducidos tanto por usuarios privilegiados como por usuarios anónimos. Columnas de la tabla: ▪ created_at Fecha de registro de la publicación. ▪ value Contenido de la publicación. ▪ article_id Identifcador del artículo al que hace referencia. Script de creación de la base de datos Se adjunta el script de creación de la base de datos a utilizar en este ejercicio, para aquellos que deseen realizar el ejercicio en su ordenador personal. -- -- Base de datos: `curso_php_blog` -- -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `article` -- DROP TABLE IF EXISTS `article`; CREATE TABLE IF NOT EXISTS `article` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `title` varchar(100) NOT NULL, `value` varchar(255) NOT NULL, `created_at` date NOT NULL, `user_id` bigint(20) NOT NULL, PRIMARY KEY (`id`), KEY `user_id_idx` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; http://www.fai.es Página 8 de 14
  9. 9. Av. Tenor Pedro la Virgen s/n (CADE) Córdoba (España) tlf. 957 40 61 40 -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `comment` -- DROP TABLE IF EXISTS `comment`; CREATE TABLE IF NOT EXISTS `comment` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `value` varchar(255) NOT NULL, `created_at` date NOT NULL, `article_id` bigint(20) NOT NULL, PRIMARY KEY (`id`), KEY `article_id_idx` (`article_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `user` -- DROP TABLE IF EXISTS `user`; CREATE TABLE IF NOT EXISTS `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `last_name` varchar(100) NOT NULL, `username` varchar(30) NOT NULL, `password` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -- -- Filtros para la tabla `article` -- ALTER TABLE `article` ADD CONSTRAINT `article_user_id_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`); -- -- Filtros para la tabla `comment` -- ALTER TABLE `comment` ADD CONSTRAINT `comment_article_id_article_id` FOREIGN KEY (`article_id`) REFERENCES `article` (`id`); http://www.fai.es Página 9 de 14
  10. 10. Av. Tenor Pedro la Virgen s/n (CADE) Córdoba (España) tlf. 957 40 61 40 Requisitos del sistema El problema a resolver se compone de cuatro pantallas, dos públicas y otras dos protegidas por autenticación de usuario. Listado de artículos Esta pantalla es de acceso público para todos los usuarios de la red, y muestra el listado de artículos almacenados en el sistema en orden descendente de la fecha de creación. De cada artículo se muestra el título, seguido de la fecha de creación. Este título será un enlace a la pantalla de detalle de dicho artículo. Además de ésto, esta pantalla posee una columna a la derecha dónde se muestran los gadget de autenticación y publicaciones anteriores, los cuáles se explican más adelante en este documento. Detalle de un artículo Esta pantalla es de acceso público para todos los usuarios de la red, y muestra la información del artículo que se ha seleccionado en la pantalla de listado, a través de la cuál se ha accedido. Se detalla el título, descripción y fecha de creación del artículo. Acompañando a estos datos, se debe implementar un formulario para añadir comentarios asociados a dicho artículo. Además de lo anterior, se ha de visualizar el listado de comentarios que usuarios de la aplicación han añadido a través del formulario anterior. Estos comentarios se han de mostrar en orden descendente según la fecha en la que han sido introducidos. Replicando la funcionalidad de la pantalla de listado, también posee una http://www.fai.es Página 10 de 14
  11. 11. Av. Tenor Pedro la Virgen s/n (CADE) Córdoba (España) tlf. 957 40 61 40 columna a la derecha dónde se muestran los gadget de autenticación y publicaciones anteriores, los cuáles se explican más adelante en este documento. Nuevo artículo Esta pantalla es de acceso restringido, sólo se podrá acceder a esta pantalla tras autenticarse mediante el gadget de la columna de la derecha de las pantallas de listado y detalle de artículos. Esta pantalla muestra un formulario de creación dónde aparecerán los campos título y artículo o descripción. Al guardar este formulario se tomará la fecha actual para el campo create_at de la base de datos. Debajo de este formulario, han de aparecer el listado de artículos publicados por el usuario autenticado en orden descendente por fecha de creación. Cada uno de estos artículos de ese listado ha de mostrar el título del artículo http://www.fai.es Página 11 de 14
  12. 12. Av. Tenor Pedro la Virgen s/n (CADE) Córdoba (España) tlf. 957 40 61 40 seguido de la fecha de creación. El título ha de ser un enlace que redirija a la pantalla de edición de dicho artículo, la cuál se describe a continuación. Editar artículo Esta pantalla es de acceso restringido, es decir, sólo se puede acceder a esta pantalla, estando autenticado en el sistema. La pantalla es idéntica a la pantalla del formulario de nuevo artículo, salvo porque el formulario aparece completado con los datos del artículo que se está editando. http://www.fai.es Página 12 de 14
  13. 13. Av. Tenor Pedro la Virgen s/n (CADE) Córdoba (España) tlf. 957 40 61 40 Gadget de autenticación Situado en las parte o columna de la derecha de las pantallas de listado de artículos y detalle de la parte pública del blog, hay que defnir una zona dónde los usuarios con privilegios puedan acceder al área privada. Esta zona vendrá defnida por dos cajas de texto en las que especifcar el nombre de usuario y la contraseña. Al pulsar el botón registrar, se han de comprobar los datos y en caso de ser correctos redirigir al formulario de nuevo artículo. Gadget de publicaciones anteriores En la columna de la derecha de las pantallas de listado de artículos y detalle de la parte pública, hay que defnir otra zona para las publicaciones anteriores. http://www.fai.es Página 13 de 14
  14. 14. Av. Tenor Pedro la Virgen s/n (CADE) Córdoba (España) tlf. 957 40 61 40 Se ha de mostrar una lista los meses anteriores al actual y junto a estos el número de artículos que se han publicado en dichas fechas. http://www.fai.es Página 14 de 14

×