PROYECTO FINAL DE CARRERA

DESARROLLO DE UN SITIO WEB PARA UN COLEGIO
EMILIO LLUCH (NÁQUERA)
CURSO 2006/2007
Código proyecto: DISCA-24

Autores Vicente Sancho Guijarro Vicente Blasco Sánchez Director Félix Buendía García

Vicente Sancho Guijarro - Vicente Blasco Sánchez

Proyecto Final de Carrera

INDICE
1. 2. 3. Introducción.............................................................................................................. 6 Especificación de Requisitos .................................................................................... 8 Análisis ................................................................................................................... 15 3.1. Diagrama de clases. ........................................................................................ 15 3.2. Diagrama de casos de uso............................................................................... 18 3.2.1. Casos de uso del usuario......................................................................... 19 3.2.2. Casos de uso del usuario registrado........................................................ 20 3.2.3. Casos de uso del administrador .............................................................. 21 3.2.4. Casos de uso del alumno y del progenitor.............................................. 22 3.2.5. Casos de uso del profesor ....................................................................... 23 3.2.6. Casos de uso del equipo directivo .......................................................... 24 3.3. Diagrama de Secuencia .................................................................................. 25 3.3.1. Iniciar sesión........................................................................................... 25 3.3.2. Añadir anuncio al tablón de anuncios .................................................... 26 3.3.3. Consultar horario .................................................................................... 27 3.3.4. Dar de baja alumnos ............................................................................... 28 3.3.5. Mostrar notas .......................................................................................... 29 3.3.6. Poner notas ............................................................................................. 30 3.3.7. Poner faltas de asistencia........................................................................ 31 3.3.8. Reservar equipaciones ............................................................................ 32 3.3.9. Anular reserva de instalaciones .............................................................. 33 4. Diseño..................................................................................................................... 34 4.1. Nivel de presentación ..................................................................................... 34 4.2. Nivel de aplicación ......................................................................................... 39 4.3. Nivel de persistencia....................................................................................... 40 5. Implementación ...................................................................................................... 43 5.1. Tecnologías..................................................................................................... 43 5.1.1. HTML..................................................................................................... 43 5.1.2. XHTML .................................................................................................. 43 5.1.3. CSS ......................................................................................................... 45 5.1.4. JavaScript ............................................................................................... 46 5.1.5. PHP......................................................................................................... 46 5.1.6. MySQL ................................................................................................... 48 5.2. Descripción de la implementación ................................................................. 50 5.2.1. Sección pública....................................................................................... 50 5.2.2. Sección privada ...................................................................................... 52 6. Pruebas ................................................................................................................... 57 6.1 Tamaño de la ventana ..................................................................................... 57 6.2 Comprobador de links .................................................................................... 59 6.3 Estándar XHTML ........................................................................................... 59 6.4 Estándar CSS .................................................................................................. 61 6.5 Navegadores ................................................................................................... 62 7. Conclusiones........................................................................................................... 66 8. Bibliografía............................................................................................................. 67 9. Anexos .................................................................................................................... 68 A. W3C.................................................................................................................... 68 B. Anexo II (Herramientas usadas) ......................................................................... 70 C. XAMPP .............................................................................................................. 77 E.T.S. de Informática Aplicada (U.P.V.) i

Vicente Sancho Guijarro - Vicente Blasco Sánchez

Proyecto Final de Carrera

D. E.

Plantillas de los casos de uso.............................................................................. 79 Guía del usuario.................................................................................................. 87 Usuario anónimo .................................................................................................... 87 Intranet del profesor................................................................................................ 93 Intranet de alumno ................................................................................................ 103 F. Código Setup.php (Base de datos).................................................................... 110 Interfaz_db.php..................................................................................................... 137 Connexion_i.php .................................................................................................. 141 Conexión.php........................................................................................................ 142 G. Código PHP ...................................................................................................... 143 Index.php .............................................................................................................. 143 Historia.php .......................................................................................................... 145 Equipodirectivo.php ............................................................................................. 146 Reglamento.php.................................................................................................... 147 Calendarioescolar.php .......................................................................................... 148 Localizacion.php .................................................................................................. 150 Contactar.php........................................................................................................ 151 Enlaces.php........................................................................................................... 153 Prohibido.php ....................................................................................................... 154 Anonimo_inc.php ................................................................................................. 155 Analizadorlogin.php ............................................................................................. 157 Bd.php .................................................................................................................. 158 Cerrar_sesion_alumno.php ................................................................................... 160 Cerrar_sesion.php ................................................................................................. 160 calendarioscript.php.............................................................................................. 161 Alumno_inc.php ................................................................................................... 166 intranetAlumno.php.............................................................................................. 173 Alumno_horario.php ............................................................................................ 174 Alumno_alumnos.php .......................................................................................... 182 Alumno_profes.php .............................................................................................. 184 Alumno_notas.php................................................................................................ 186 Alumno_faltas.php ............................................................................................... 188 Alumno_menu.php ............................................................................................... 190 Alumno_instalaciones.php ................................................................................... 191 Alumno_reserva.php ............................................................................................ 193 Alumno_reservar_instalacion.php........................................................................ 196 Alumno_tablon.php .............................................................................................. 199 Alumno_tablon_insertar.php ................................................................................ 201 Alumno_anular_reserva.php................................................................................. 202 calendario_faltas.php............................................................................................ 204 calendario_ins.php................................................................................................ 209 profesor_inc.php ................................................................................................... 214 intranetProfe.php .................................................................................................. 228 Profesor_alumnos.php .......................................................................................... 230 Profesor_profesores.php ....................................................................................... 233 guardar_notas.php ................................................................................................ 235 Profesor_notas.php ............................................................................................... 236 Profesor_faltas.php ............................................................................................... 240 poner_faltas.php ................................................................................................... 245 Profesor_instalaciones.php ................................................................................... 247 E.T.S. de Informática Aplicada (U.P.V.) ii

Vicente Sancho Guijarro - Vicente Blasco Sánchez

Proyecto Final de Carrera

Profesor_reservar_instalacion.php ....................................................................... 249 Profesor_reserva.php ............................................................................................ 252 Profesor_anular_reserva.php ................................................................................ 255 Profesor_equipaciones.php................................................................................... 257 Profesor_reservar_equipacion.php ....................................................................... 259 Profesor_tablon.php.............................................................................................. 262 Profesor_tablon_insertar.php................................................................................ 264 H. Código CSS ...................................................................................................... 265 Calendario.css....................................................................................................... 265 general.css ............................................................................................................ 267 principal.css .......................................................................................................... 270 Professor.css ......................................................................................................... 271 I. JavaScript ......................................................................................................... 272 fecha.js.................................................................................................................. 272 profesor.js ............................................................................................................. 273 reservas.js ............................................................................................................. 278

E.T.S. de Informática Aplicada (U.P.V.)

iii

.......... 38 Figura 27 Capas del proyecto ............................P................................. .......................................... 60 Figura 37 XHTML .................2 .............................................................................................................................. 23 Figura 8 Caso de uso para Equipo Directivo.............. 29 Figura 14 Diagrama de Secuencia: Poner notas ............. 32 Figura 17 Diagrama de secuencia: Anular reserva de instalaciones......................................................................... 52 Figura 32 Página principal con la zona de noticias en la parte inferior..................................... ...................................4 Eclipse ......................V...Pantalla principal...página válida............. 22 Figura 7 Caso de uso para Profesor ................................................................................. 73 Figura 47 B............ 20 Figura 5 Caso de uso del Administrador ..................................... 61 Figura 39 Resultado de la validación CSS ..................... 56 Figura 33 Resolución a 600x480 ..... ........T............................................................ 31 Figura 16 Diagrama de Secuencia: Reservar equipación ......................................................................... 34 Figura 19 Captura de la página de inicio... 35 Figura 20 Cabecera de la página........................................................................................................................................... 28 Figura 13 Diagrama de Secuencia: Mostrar notas........................................ 70 Figura 45 B............ 27 Figura 12 Diagrama de Secuencia: Dar de baja alumnos...Arquitectura a tres capas. .............. 63 Figura 42 Opera ............................ 74 E..................... 33 Figura 18 .................................................................................página inicial ...Vicente Sancho Guijarro ....................................Logotipo de StarUML ................................................. 60 Figura 38 xhtml ................... 51 Figura 30 Menú de la zona anónima............................................................................. 26 Figura 11 Diagrama de Secuencia: Consultar Horario.....Problemas visualización .............página inicial ...........3 Pantalla inicial Eclipse 3...) iv ...................................................................................................... ...................... ............................................................ 71 Figura 46 B............................................................................ 18 Figura 3 Caso de uso para Usuario............................................................................................................................... 61 Figura 40 Explorer 6 .............. 64 Figura 43 Mozilla ........ 41 Figura 29 ... 37 Figura 25 Captura del horario de clase en la zona privada de un alumno..................................................................................... ........................ 65 Figura 44 B..... 36 Figura 24 Captura de la página donde se muestra el calendario escolar...........................................................página con errores....... 16 Figura 2 Actores del sistema .......................................................................................................................................página inicial.................Logotipo de Dreamweaver 8.S...... 30 Figura 15 Diagrama de Secuencia: Poner faltas de asistencia.... ............................................................... 24 Figura 9 Diagrama de secuencia: Iniciar sesión .................. ................................. 36 Figura 23 Zona de información de la página de inicio...................................... 19 Figura 4 Caso de uso Usuario Registrado ................................................. 62 Figura 41 Explorer 7 .......................................................... 37 Figura 26 Captura del formulario de notas de la zona privada del profesor.............. 39 Figura 28 Diagrama entidad-relación...................................................................................................................................................................................................................................................................................................... 58 Figura 36 XHTML .........................Cabecera del sitio web.................................................. 21 Figura 6 Caso de uso del Alumno y del Progenitor.. 58 Figura 35 Resolución 1024x768...................... 57 Figura 34 Resolución 800x600......................... ..... 36 Figura 22 Formulario de inicio de sesión .................................... 35 Figura 21 Menú del sitio web....................................................................................1 .................................................................. de Informática Aplicada (U................................................................... 52 Figura 31 Formulario de identificación....................Vicente Blasco Sánchez Proyecto Final de Carrera INDICE DE FIGURAS Figura 1 Diagrama de Clases de la aplicación...........................2 ......................... 25 Figura 10 Diagrama de secuencia: Añadir anuncio..............................................................

................................................................................................................... 109 E...................reserva confirmada...faltas asistencia.......................Logotipo de phpMyAdmin....................................................datos cargados............................................................................................................................................................ 90 Figura 62 Usuario anónimo – localización............. 78 Figura 55 C.....reserva confirmada ................................................. 102 Figura 83 Intranet Profesor .......... 107 Figura 93 Intranet Alumno – instalaciones ..................................... .................................4 ...............T........................................................... 96 Figura 73 Intranet Profesor ..........................................1 ...................... 107 Figura 94 Intranet alumno ..falta – Calendario.........................................................tablón anuncios ............................................................................................S.........) v ..................... 109 Figura 97 Intranet Profesor .... 87 Figura 57 Usuario anónimo ............................................P............................................... 94 Figura 69 Escogiendo asignatura..... 88 Figura 58 Usuario anónimo – Historia ......................................................................................................................... 99 Figura 78 Intranet Profesor .................................................................................................... 76 Figura 52 C...............menú navegacional.... ....................... 100 Figura 80 Intranet Profesor ................................................................reserva de instalaciones................... 88 Figura 59 Usuario anónimo ..... 103 Figura 86 Menú navegacional ................. 91 Figura 63 Usuario anónimo – contacto ...............Equipo directivo.....Vicente Blasco Sánchez Proyecto Final de Carrera Figura 48 B..2 ...................................................... 97 Figura 74 Intranet Profesor ............reserva de instalaciones.......................... 78 Figura 56 Usuario anónimo – inicio........................................................................................................................tablón anuncios .............................V.........Logotipo de XAMPP ..listado profesores............. 102 Figura 84 Pantalla Inicial..................................................................................................................................Panel de Control de XAMPP .............................7 Dia – Eligiendo tipo de diagrama....................mensaje error.........Logotipo del servidor web Apache .............. 106 Figura 92 Intranet alumno – menú .............. 93 Figura 66 Intranet del profesor .......... 94 Figura 67 Menú navegacional ........................... 105 Figura 89 Intranet alumno ........... 75 Figura 50 B..........................................notas ...........................listado alumno ................................................................ 101 Figura 81 Intranet Profesor .................................................................. 104 Figura 88 Intranet alumno .................. 98 Figura 75 Intranet profesor – falta...... 106 Figura 91 Intranet alumno .................................................Insertar anuncio................................................... 92 Figura 64 Usuario anónimo – enlaces ...............................reglamento........................................................................................ 100 Figura 79 Intranet Profesor – equipaciones.......................... 77 Figura 54 C...................... 104 Figura 87 Intranet alumno – horario............. 89 Figura 60 Usuario anónimo ............................................. 103 Figura 85 Intranet del alumno .................................... 75 Figura 51 B.......................................................................................................... 108 Figura 95 Intranet alumno ...........................................6 Dia – Pantalla de Inicio ............reserva de equipaciones......... 105 Figura 90 Intranet alumno – notas...................................................................................... 77 Figura 53 C............................Vicente Sancho Guijarro ........................................................Alumnos................. 95 Figura 70 Intranet Profesor ......................................................................................................................... 101 Figura 82 Intranet Profesor ............. ......3 ... 92 Figura 65 Pantalla Inicial...................................................................................................................................... 108 Figura 96 Intranet Profesor . 74 Figura 49 B................................... 96 Figura 72 Intranet Profesor – Notas ............................................................................ de Informática Aplicada (U......................................... 99 Figura 77 Intranet Profesor ...Insertar anuncio.....................................reserva confirmada.......................................... 89 Figura 61 Usuario anónimo – Calendario ................. 95 Figura 71 Intranet Profesor – profesores .....................5 Eclipse Auto completado de variable ......................................................................7 Dia – Espacio de trabajo................ 94 Figura 68 Intranet Profesor ..................................................... 98 Figura 76 Intranet Profesor – instalaciones .......................

ya que será muy usado por los profesores y los padres de los alumnos. y puede hacer reservas de los equipamientos del centro entre otras cosas.educa. habiendo una comunicación más constante con los padres. Valencia). y a la vez favorecer la comunicación tanto con los profesores de sus hijos como con los padres de los compañeros de clase de sus hijos.cpmigjorn. Entre la información de la cual consta destaca la información general sobre el centro. pudiendo realizar acciones como dar de alta usuarios o visualizar estadísticas del sitio web.Vicente Sancho Guijarro Proyecto Final de Carrera 1. También los profesores podrán agilizar sus trámites como son las faltas de asistencia o poner las notas. Por ello. etc. situado en Náquera (Camp de Túria.net/ . La motivación de este tipo de proyecto es el seguimiento más activo por parte de los padres sobre la educación de sus hijos. como son los profesores. el administrador también tiene su propia intranet desde la cual puede administrar el sitio. horarios. Muchos colegios ya tienen su propia web.madrid. Para ello.es/cp/llaranes/ Colegio Público San Blas http://www. Introducción Este proyecto trata sobre el desarrollo de un sitio web de un colegio público.org/portal/web/cp_sanblas_ajalvir Colegio Público Migjorn http://www. Será un proyecto muy bien acogido. ya sea profesor o padre/alumno. La parte privada del sitio es una intranet para los usuarios que se autentiquen. los alumnos y los padres de los mismos. El objetivo de este sitio web es dar a conocer el centro a través de Internet. así como información de contacto para que los usuarios que no pertenezcan al colegio puedan contactar con él para informarse de una forma más personalizada o con dudas más concretas. así como hacer más accesible información personalizada a los componentes del centro. Por último. lo consideramos un proyecto motivador para que los alumnos del colegio puedan tener una buena educación con la supervisión más activa de los padres. en un medio muy extendido como es Internet. El centro sobre el que se basa el sitio es el Colegio Público Emilio Lluch.princast. En ella puede encontrar información personalizada sobre las asignaturas que tiene. en el cual la mayoría de colegios e institutos ya tienen su sitio web. antes de realizar nuestro proyecto nos fijamos en los sitios web de otros centros como: Colegio Público Llanares http://web. Ésta se diferencia según el grupo al que pertenezca el usuario.educastur. El sitio web consta de una parte pública accesible a todos los usuarios que accedan al portal sin registrarse.

V. Tras todo esto. exponemos el código fuente de las páginas desarrolladas. En otro anexo presentamos brevemente las herramientas usadas para la elaboración del diseño y del desarrollo del proyecto. el primer paso fue redactar la especificación de requisitos en la cual redactamos una primera visión del proyecto donde especificamos las funcionalidades y los requisitos que debía tener. antes de subirlo al servidor prestado por el director. Por último. por lo que ya podemos redactar las conclusiones sacadas en la realización del mismo. Con esto ya tenemos una visión global de cómo va a estar estructurado nuestro proyecto por lo que ya nos ponemos a realizar el diseño de cómo vamos a implementar el sitio web.S. También dedicamos un anexo para hablar del paquete XAMPP que nos ha sido de gran utilidad para probar el correcto funcionamiento del proyecto en local. La siguiente etapa en la realización del proyecto fue la de análisis. damos por finalizado el proyecto.) 7 . Los diagramas realizados fueron el diagrama de clases y los diagramas de los casos de uso. Para ello. En ella se realizó un análisis del problema y el modelado conceptual de nuestra solución mediante diagramas. Tras realizar el diseño nos adentramos en la fase de implementación del proyecto a partir de los diagramas obtenidos en la etapa anterior.T. Aquí explicamos las tecnologías utilizadas y cómo son usadas. de Informática Aplicada (U. E.P. En el primero de ellos se habla del consorcio llamado W3C. Por último. ya que ellos son los que dictan los estándares que hemos usado para desarrollar el proyecto como son HTML y CSS por ejemplo. se han incluido unos anexos que creemos pueden ser interesantes sobre el desarrollo del proyecto. En nuestro caso el visto bueno nos lo dio el director del proyecto.Vicente Sancho Guijarro Proyecto Final de Carrera 1. podemos decir que se ha dividido en los apartados que hemos tratado en la realización del proyecto. La finalidad de este documento es plasmar el acuerdo entre el desarrollador y el cliente acerca de las funcionalidades del proyecto.1 Estructura del documento Sobre la estructura de la memoria.

así como una especificación de los requisitos que debe cumplir. 2) Definiciones. Sitio Web . 1) Ámbito La aplicación que vamos a desarrollar con el nombre WebCole. WWW . etc.Vicente Sancho Guijarro Proyecto Final de Carrera 2.Aplicación software que permite al usuario recuperar y visualizar documentos de hipertexto. Especificación de Requisitos 2. IEEE . blogs etc Usuario Administrador .Institute of Electrical and Electronics Engineers. Portal Web . e-mail.World Wide Web.P. Puede tener servicios como: Chat.S.Usuario que se ha autentificado en el portal mediante su nombre de usuario y contraseña que previamente se le ha sido asignada. acrónimos y abreviaturas • Definiciones Interfaz .1 Introducción 2.1. de Informática Aplicada (U. Guía del IEEE para la especificación de requerimientos software.T. W3C . Será la encargada de proporcionar información general sobre el colegio Emilio Lluch de Náquera (Valencia) e información más especializada a los usuarios registrados.Usuario que se encarga del mantenimiento del portal. 3) Referencias [1] ANSI/IEEE Std. 830 . foros.Página de inicio que permite el acceso a las distintas secciones de un sitio web.World Wide Web Consortium. De esta forma. típicamente comunes a un dominio de Internet o subdominio en la World Wide Web en Internet.Parte del programa informático que permite el flujo de información entre varias aplicaciones o entre el propio programa y el usuario. los profesores también pueden agilizar la forma de comunicarles estos datos a los padres de sus alumnos. De esta forma. [2] Ejemplos de otros proyectos.conjunto de páginas web.1984.HyperText Markup Language.) 8 . • Acrónimos HTML .V. En esta ERS se realizará una descripción general del mismo. PHP . Usuario Registrado . 4) Visión global E. Así los padres podrán tener un mayor control de lo que hacen sus hijos pudiendo consultar por ejemplo sus faltas de asistencia.PHP Hypertext Pre-processor. el usuario puede obtener información desde su propia casa sobre el colegio proporcionándole una mayor comodidad. Navegador .1 Propósito El propósito de la especificación de requisitos expuesta a continuación es mostrar al usuario cual va a ser la funcionalidad del proyecto. sus notas.

remodelaciones.. Listado de alumnos Se mostrará un listado de los alumnos que van a la misma clase que el usuario que esté conectado a la aplicación en esos momentos. 2. Localización Se especificará la dirección y un pequeño mapa de la localización del centro Contactar En esta sección se proporcionará un pequeño formulario para poder mandar correos electrónicos al centro con consultas y/o sugerencias. Nuestra aplicación podrá ser accedida desde cualquier sistema operativo.Vicente Sancho Guijarro Proyecto Final de Carrera Posteriormente en este documento se realizará la descripción general del sistema que va desarrollarse con sus funciones. Otra parte de la aplicación suministrará información más específica para cada tipo de usuario que acceda a esta sección del portal. Faltas de asistencia E.. etc.2 Funciones del producto • Usuarios no registrados Información general En esta sección se presentará el centro Historia Se escribirá un pequeño resumen de la historia del colegio (año de fundación. supuestos y dependencias.P.2.) 9 .) Equipo de dirección Se dispondrá el organigrama directivo con información de contacto de cada uno de los componentes del equipo directivo (e-mail. características del usuario. También se expondrá una especificación detallada de los requisitos detectados.) Reglamento de régimen interno Se expondrá un resumen del reglamento básico del centro Calendario escolar En esta parte de la aplicación se podrá visualizar el calendario escolar con los festivos del centro y otras actividades que consideren importantes. 1. utilizando para ello un navegador Web.T.2 Descripción general 2..V. de Informática Aplicada (U. restricciones generales. Listado de profesores Los usuarios podrán visualizar un listado de los profesores que imparten clase al alumno Notas Se mostrarán las calificaciones de las asignaturas matriculadas por el alumno conectado. o Padres y alumnos Horario En este apartado se mostrará el horario de las clases del alumno.1 Perspectiva del producto La aplicación pretende proporcionar información general sobre el centro. Enlaces Se listarán las direcciones de otros sitios Web que el centro considere de interés.S.2.

sin poder acceder a la información personalizada. También podrá hacer reservas de instalaciones y equipamientos del colegio para su uso en las distintas clases.T.S.) Tablón de anuncios Desde aquí se podrá acceder al foro donde el usuario redactará anuncios para pedir voluntarios para actividades por ejemplo o Administrador Dar de alta usuarios Dar de baja usuarios Modificar usuarios Dar de alta noticias Ver estadísticas de la Web Mantenimiento del foro 2. gimnasio. de Informática Aplicada (U.P. Los profesores también tendrán acceso a su zona restringida desde la cual podrán consultar información propia y sobre los grupos de alumnos a los que imparte clases. Reserva de instalaciones Aquí se podrán realizar reservas de las instalaciones del centro (campo de fútbol sala. que sólo tendrán acceso a la información general del centro.) Tablón de anuncios Desde aquí se podrá acceder al foro donde los usuarios pueden poner anuncios para buscar gente para practicar algún deporte. E.3 Características del usuario Los tipos de usuarios registrados se pueden dividir en los padres y alumnos. Por otra parte estarán los usuarios no registrados. aulas. etc. como la composición. Los padres y alumnos que podrán consultar información acerca del alumno a través de la zona privada y hacer reservas de instalaciones del centro en horario extraescolar. o Profesores Listado de alumnos Los profesores dispondrán de un listado de los alumnos ordenados por grupos Listado de profesores Se listarán los profesores que imparten clases en el centro Poner notas En esta sección el profesor podrá calificar a los alumnos de las asignaturas que imparte Poner faltas de asistencia En este apartado el profesor tutor de cada alumno podrá poner las faltas de asistencia. etc.) Reserva de equipamientos Se podrán efectuar reservas de los equipamientos disponibles en el centro (radio-cd.V. etc.2. proyector.) 10 .Vicente Sancho Guijarro Proyecto Final de Carrera Se podrá llevar a cabo un control sobre las faltas de asistencia del alumno conectado Menú semanal Se podrá consultar el menú del comedor Reserva de instalaciones En esta sección se podrán realizar reservas de las instalaciones del centro (campo de fútbol sala. gimnasio. las notas y las faltas de asistencia. los profesores y el administrador.

3 Requerimientos específicos 2. 2.2.3.1 Usuarios no registrados 2. El portal Web será visible a todos los usuarios.2.1. el teléfono y otros datos de interés. 2.2 Requisitos funcionales 2.Vicente Sancho Guijarro Proyecto Final de Carrera El administrador será el que gestiones las altas.2. uno de ellos para poder visualizarlo desde el navegador mismo y otro para su posible descarga en el ordenador del usuario.3 Equipo de dirección Se mostrará el organigrama directivo del centro en el que aparecerá la organización interna del centro con todos sus componentes como el director.1.T.3. 2.2. las modificaciones y las bajas de los usuarios registrados.3.1 Información general En está sección se hará una presentación del centro acompañada de una foto. acontecimientos que ellos consideren más importantes. profesor o administrador.2. de Informática Aplicada (U.3.2. 2. Entre la información que podemos encontrar estará la dirección.P. 2.3.2 Historia Se hará un breve resumen de la historia del centro indicando el año de fundación. 2. De cada uno se mostrará información como su teléfono interno.1. Se dispondrá de varios formatos. su e-mail.S.V.3. su despacho y sus horarios de atención.) 11 . En el mismo calendario se podrá ver la fecha de las actividades E.3. 2.1.5 Calendario escolar Se mostrará el calendario escolar donde se podrán consultar los días festivos y los no lectivos del centro.4 Restricciones generales Se requiere un ordenador con conexión a Internet.1. etc.2. el jefe de estudios.5 Supuestos y dependencias Se necesita un navegador de Internet. 2. Los usuarios deberán de tener conocimientos mínimos de informática y de navegación por la Web para poder acceder al sitio Web.2.4 Reglamento de régimen interno Se podrá acceder al reglamento de régimen interno redactado por el centro. mientras que para acceder a la intranet habrá que identificarse como padre/alumno.3. anteriores equipos directivos. así como las remodelaciones y traslados que haya podido sufrir el centro en el transcurso de su historia.1 Interfaces de usuario Habrá dos partes diferenciadas: el portal Web y la intranet. preferiblemente que respete los estándares de W3C.

2.3.3.T.2.2. 2. 2.1. 2. 2.3.2.1.4 Notas Aquí se podrán consultar las notas obtenidas por el alumno en las asignaturas en las que esté matriculado. Los datos mostrados serán nombre y apellidos del alumno.3. También se podrán consultar las rutas de autobuses existentes para recoger a los alumnos.2. así como líneas de transporte público. Además se colocarán los diferentes accesos por carretera al colegio. 2.2 Listado de alumnos Se mostrará una lista con los alumnos del mismo grupo al que pertenece.2.2. Estos enlaces estarán ordenados por área de interés.2.2.6 Localización Aquí se pondrá la dirección del centro acompañada de un mapa para facilitar la localización. su dirección de correo electrónico. Los datos mostrados serán nombre y apellidos del alumno. También aparecerá la nota media del grupo para poder tener una idea de la marcha del grupo en general.3.5 Faltas de asistencia En este apartado habrá constancia de las faltas de asistencia a clases que ha tenido el alumno a lo largo del curso.2. 2.2.3.1 Horario Aquí se mostrará el horario de clases correspondiente al grupo en el cual está matriculado el alumno.7 Contactar Se dispondrá de un pequeño formulario a través del cual se pueden hacer llegar las dudas o consultas por e-mail al centro. webs de recursos educativos y los que el colegio considere oportunos.2.2. 2. La dirección completa también se podrá consultar en este apartado.) 12 .P. 2.3 Listado de profesores Se mostrará una lista con los profesores que imparten clase al alumno.3. como pueden ser las webs del Ministerio de Educación. así como los periodos de evaluación o de los plazos de matriculación y presentación de becas.2.3. la Conselleria de Educación.6 Menú semanal E.S.Vicente Sancho Guijarro Proyecto Final de Carrera realizadas en el centro.2. También se podrá diferenciar entre las justificadas y las no justificadas.1.3. su dirección de correo electrónico y su despacho.2 Usuarios registrados como alumno/padre Las funcionalidades descritas a continuación sólo son accesibles para los usuarios que se identifiquen como alumno/padre que hayan sido dados de alta por el administrador previamente. 2. 2. También se mostrarán los teléfonos del centro para los usuarios que prefieran ponerse en contacto con el centro por teléfono. de Informática Aplicada (U.3.8 Enlaces Aquí aparecerán enlaces a otras webs de interés para el usuario.2.V.

7 Reserva de instalaciones Desde aquí se podrán reservar las instalaciones del centro.S. Los alumnos aparecerán ordenados por grupos.3. 2. como pueden ser la pista de fútbol. Por ejemplo.3.2.6 Reserva de equipamientos E.3 Poner notas Desde aquí se podrá introducir las notas de cada alumno que podrán ser visualizadas posteriormente por los alumnos desde su intranet. de Informática Aplicada (U.8 Tablón de anuncios Aquí se publicarán anuncios en general.3. el aula de usos múltiples.2.P.2.2. su dirección de correo electrónico incluido el teléfono de contacto de los padres. el aula de usos múltiples. un alumno puede publicar un anuncio para buscar gente para practicar algún deporte. el gimnasio. Además se dispondrá de las normas a la hora de usar las instalaciones y de hacer la reserva. Los datos mostrados serán nombre y apellidos del profesor. el gimnasio.4 Poner faltas de asistencia Desde aquí se podrá introducir las faltas de asistencia de cada alumno.3. su dirección de correo electrónico y su despacho. En esta sección también se podrán modificar notas que hayan sido previamente introducidas. 2.3 Usuarios registrados como profesores A continuación describimos las funcionalidades accesibles desde la intranet de los usuarios identificados como profesores que hayan sido dados de alta por el administrador previamente.3.3. etc. 2.3. Además se dispondrá de las normas a la hora de usar las instalaciones y de hacer la reserva. etc.2.2.) 13 .3. semanas o meses según se quiera consultar. También se podrá anular reservas.3. También se podrá anular reservas. Las reservas sólo pueden hacerse en horario extraescolar. 2.3. 2. Así como la normativa vigente del comedor.Vicente Sancho Guijarro Proyecto Final de Carrera En esta sección aparecerá el menú del comedor escolar.1 Listado de alumnos Se mostrará una lista de los alumnos a los que imparte clase ordenados por el grupo al que pertenecen.3.2. También aparecerá el nombre del encargado del comedor para poder consultar con él cualquier tipo de duda o queja.5 Reserva de instalaciones Desde aquí se podrá reservar las instalaciones del centro. 2.2. 2.3.V.3. También se podrá justificar las faltas que aún no lo están.2.3. Además aparecerán los precios del comedor diferenciados por días. También podrán eliminar mensajes creados por ellos mismos. como pueden ser la pista de fútbol. En caso de error también estará la posibilidad de poder modificar dichas faltas.2. Los datos mostrados serán nombre y apellidos del alumno.2 Listado de profesores Se mostrará un listado del resto de profesores que imparten clase en el centro. 2.T.2.3. 2.

2.3. aparecerá quien lo ha reservado.4. proyectores de diapositivas.2.1 Dar de alta usuarios El administrador podrá dar de alta a usuarios de cualquier tipo e introducir su correspondiente información.2.6 Mantenimiento del foro Aquí el administrador podrá eliminar los anuncios del foro que el considere inapropiados.2.4 Administrador del portal Por último.3. Otra opción desde esta sección es poder sancionar a usuarios restringiéndole el acceso al tablón de anuncios si éste pone anuncios obscenos o de otra índole que no se considere apropiada para los alumnos o quitar el permiso de reservar instalaciones o equipaciones si este hace una reserva pero no la lleva a cabo.2. etc.5 Ver estadísticas de la Web Aquí aparecerán estadísticas de la Web. E. Los usuarios a los que podrá dar de alta serán aquellos profesores que estén impartiendo clases en el centro o a aquellos alumnos/padres que estén matriculados en el centro.2. con las mismas funcionalidades que ellos.3.T.3. 2.3. Al comienzo de cada curso el administrador podrá eliminar todos los anuncios del curso pasado del foro. de Informática Aplicada (U. etc.2.P. 2. 2.4.3.3. 2.) 14 . 2. las siguientes funcionalidades sólo serán accesibles al administrador del portal. teléfono. También podrán eliminar mensajes creados por ellos mismos.2. Además se dispondrá de las normas a la hora de usar las instalaciones y de hacer la reserva.4.4.Vicente Sancho Guijarro Proyecto Final de Carrera Desde aquí se podrá reservar los equipamientos del centro.V.4.4. También se podrán anular reservas que haya efectuado antes el profesor.3. 2.4 Dar de alta noticias Se podrá introducir noticias nuevas que serán visibles en la página principal del portal. o por errores a la hora de dar de alta a algún usuario. ya sea porque se han dado de baja en el centro en el caso de los alumnos o porque ya no trabajen allí en el caso de los profesores. En el caso de ya estar reservado en la franja horaria requerida.3 Modificar usuarios Podrá modificar atributos a los usuarios.S.2 Dar de baja a usuarios El administrador podrá eliminar usuarios para que ya no puedan acceder a su correspondiente información personalizada. como el número de accesos. 2. 2.3. Esto es útil para cambios de domicilio. tales como el radio-CD.7 Tablón de anuncios Se podrá acceder y publicar anuncios al mismo tablón de los alumnos/padres.

T. También nos permitirá conocer a grandes rasgos las clases u objetos de nuestro sistema. Profesor. Aunque UML define una gran cantidad de diagramas para representar los distintos aspectos del desarrollo de la aplicación. E.V. 3.1. lo que nos permitirá cubrir los distintos aspectos del desarrollo. en la medida de los permisos que les concedamos. en principio por todos los usuarios registrados. siendo los más importantes.) 15 . Este modelo dispone de multitud de diagramas que nos ayudarán a comprender la complejidad del futuro sistema. El diagrama de clases nos permite visualizar las relaciones que involucran el sistema. así como la ampliación del sistema si fuera necesario. Un posible ejemplo de infraestructura reservable podría ser el caso de un aula informática. el “login” que deberá ser único dentro del sistema y la “contrasenya” ya que serán necesarios a la hora de poder acceder a la intranet del colegio. permitiéndonos plasmar en un lenguaje estándar aquellas funcionalidades. de comportamiento y de interacción respectivamente). Usuario Registrado: Esta clase representa a aquellos usuarios que pueden acceder a la intranet de la aplicación y que podrán interactuar con el sistema. por ejemplo.Vicente Sancho Guijarro Proyecto Final de Carrera 3. en nuestro caso nos centraremos en tres tipos de diagrama: • • • Diagrama de clases Diagrama de casos de usos Diagrama de secuencia Cada uno de estos diagramas pertenece una clase de diagramas (de estructura.P. Equipo directivo y Administrador. De esta clase se derivan las siguientes subclases: Alumno. lo que nos facilitará la tarea de implementación. Tiene una serie de atributos que permite definirlos. requisitos y demás características que hemos detectado en el sistema. Estos modelos nos permitirán comprender mejor la aplicación.S. desde el punto del sistema. que pueda ser reservada por un profesor para realizar una clase especial en ella. Instalación: Este objeto representa aquellas infraestructuras del colegio que pueden ser reservadas. de Informática Aplicada (U. Análisis Para realizar el análisis de esta aplicación Web se ha optado por seguir las recomendaciones definidas por UML (Unified Modeling Language o Lenguaje Unificado de Modelado en castellano). A continuación describiremos brevemente dichas clases para conocer mejor la aplicación. Progenitor. Los resultados producidos por UML son el equivalente a los planos con los que trabajan los arquitectos. Diagrama de clases. especialmente en grandes aplicaciones.

P.V. Estos mensajes serán públicos para todos los usuarios registrados de la aplicación.) 16 .T. E.S. de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 1 Diagrama de Clases de la aplicación Anuncio: Esta clase representa aquellos mensajes que pueden publicar los usuarios registrados en el sitio Web.

P. ya sean sin justificar o justificándolas más adelante. Esta clase solamente podrá ser modificada por los profesores al poner las faltas. exámenes. Alumno: Una de las clases derivadas de Usuario Registrado es alumno. jefe estudios. Esta clase se deriva de Usuario Registrado. madres o tutores de los alumnos del centro que pueden acceder a la sección privada del sitio. autonómicos y nacionales.S. Este objeto podrá contener tanto eventos que se producen en el centro. Un ejemplo de equipación que puede ser reservado sería un radio-cd o televisor.V. Seguirá la distribución normal de los colegios. Esta clase representa a aquellos alumnos matriculados en el centro que pueden acceder a la intranet de la aplicación. Falta de asistencia: Este objeto permitirá identificar las ausencias de los alumnos en horario escolar. Evento: Esta clase identificará aquellas noticias que el colegio considere de interés para el conjunto del colegio.Vicente Sancho Guijarro Proyecto Final de Carrera Progenitor: Esta entidad identifica a los padres. etc. de Informática Aplicada (U. Grupo: Este objeto contendrá la información necesaria para identificar a los distintos grupos de alumnos que conforman el colegio. fiesta locales. representa a aquellos profesores del colegio que acceden a la sección privada de la aplicación.T. E. Profesor: Esta clase. etc. Equipación: Esta clase al igual que las instalaciones. separando los grupos tanto por el curso como por una letra. por ejemplo. De esta forma se podrá llevar un control de las asistencias de los alumnos a clase y que podrá ser consultado por sus padres o tutores. como eventos de un mayor alcance. Administrador: Esta clase representa a aquellos usuarios que administrarán el sitio Web del colegio y que tendrá los permisos suficientes para realizar cualquier acción. permite realizar reservadas de objetos del colegio. Equipo directivo: De esta clase se derivarán otras tres (director. por ejemplo excursiones. aunque en este caso únicamente podrá realizar la operación profesores. Asignatura: Esta clase representa a las materias que se imparten en el centro y a las que asisten los alumnos y que son impartidas por los profesores del centro. Esta clase solamente podrá ser modificada por los usuarios que pertenezcan a la clase Equipo directivo o a la clase de Administradores. secretario) Dichas clases representarán a dichos cargos en la aplicación. derivada también de la súper clase Usuario Registrado.) 17 .

ya que muchas prácticamente son idénticas.Vicente Sancho Guijarro Proyecto Final de Carrera 3.V. Este actor representa para la aplicación Web a todos aquellos usuarios que no se han identificado ante el sistema. No se han colocado todas las plantillas. de Informática Aplicada (U. E.P.2. ya sea porque todavía no hayan iniciado la sesión o porque sean usuarios que estén de paso o buscando información. Todos ellos derivan de Usuario.T. que proporciona información adicional sobre dichos casos de uso.) 18 . además se incluye su plantilla. También nos servirá para especificar las acciones que tendrán dichos usuarios dentro de nuestra aplicación. Figura 2 Actores del sistema En la Figura 2 Actores del sistema se puede ver los distintos tipos de actores (entidades externas al sistema que interactúan con él) que podrán acceder a la aplicación.S. así como las relaciones que aparecerán entre los distintos casos de uso. Para algunos casos de uso. Diagrama de casos de uso Los diagramas de casos de uso nos permitirán conocer los distintos tipos de actores que podrán acceder y/o utilizar nuestra aplicación.

Casos de uso del usuario Figura 3 Caso de uso para Usuario En la Figura 3 Caso de uso para Usuario se puede ver los casos de usos a los que podrá acceder el actor Usuario. centrándose en la obtención de información general del centro.T.Vicente Sancho Guijarro Proyecto Final de Carrera 3.1. las acciones que podrá realizar serán en consecuencia muy limitadas.V. Dado que este tipo de actor no se ha identificado ante el sistema. de Informática Aplicada (U.P. E.) 19 .2.S.

este usuario será el que más casos de uso disponga.2. De esta forma podemos asignar a este actor todos los casos de usos que serán comunes a todos los actores que utilizarán esta aplicación (con excepción del actor usuario).P. ya que en realidad. Como puede verse.) 20 . este actor nos permite crear un usuario genérico del que dependerán del resto de usuarios que pueden acceder a la intranet.T. Casos de uso del usuario registrado Figura 4 Caso de uso Usuario Registrado En la Figura 4 Caso de uso Usuario Registrado pueden verse todos los casos de usos a los que tendrá acceso el usuario registrado. de Informática Aplicada (U. E.2.Vicente Sancho Guijarro Proyecto Final de Carrera 3.S.V.

Vicente Sancho Guijarro Proyecto Final de Carrera 3. Casos de uso del administrador Figura 5 Caso de uso del Administrador En la imagen anterior.) 21 .3.V. ya que.T. de Informática Aplicada (U. Este actor será el que más funcionalidades posea. como administrador tendrá acceso total al sistema. además de las funcionalidades que posee todo usuario registrado. puede verse el caso de uso del actor Administrador. E.2.P.S.

o tutores.) 22 . de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera 3. Casos de uso del alumno y del progenitor Figura 6 Caso de uso del Alumno y del Progenitor Este caso de uso. Los padres podrán acceder a la misma información que sus hijos para así poder realizar un control sobre ciertos aspectos como el control de asistencia a clase.4.T.2.S. madres. muestra las funcionalidades que tendrán a su disposición tanto los alumnos como sus padres.V. E.P.

V.2.T. En este caso será el que más pueda modificar el sistema (aparte del administrador). de Informática Aplicada (U. ya que el profesor dispondrá de varios casos de uso que le permitirán modificar la información de los alumnos de sus respectivas asignaturas. Casos de uso del profesor Figura 7 Caso de uso para Profesor En la Figura 7 Caso de uso para Profesor pueden verse las funcionalidades de las que dispondrá el profesor.) 23 .S.Vicente Sancho Guijarro Proyecto Final de Carrera 3.5.P. E.

P.S. heredan los casos de uso del usuario registrado) E. de Informática Aplicada (U.T.6.) 24 .2.Vicente Sancho Guijarro Proyecto Final de Carrera 3. Casos de uso del equipo directivo Figura 8 Caso de uso para Equipo Directivo El equipo directivo será el actor que menos casos de usos propios dispone (hay que recordar que todos los actores a excepción de usuario.V.

Diagrama de Secuencia Este tipo de diagrama nos ayudará a identificar las comunicaciones que se producen dentro del sistema y las operaciones de clase.Vicente Sancho Guijarro Proyecto Final de Carrera 3.V.T. ya que éste será el escenario que les permitirá acceder a la intranet del colegio.P. E. 3.3.1.) 25 . en el caso de que introduzcan correctamente sus datos (login y password).3. Iniciar sesión Figura 9 Diagrama de secuencia: Iniciar sesión En la Figura 9 Diagrama de secuencia: Iniciar sesión se puede ver el diagrama de secuencia que será más utilizado por los usuarios registrados. No se colocarán todos los diagramas de secuencia. ya que muchos son prácticamente idénticos unos de otros. También nos mostrará la secuencia temporal del flujo de mensajes. de Informática Aplicada (U.S.

Añadir anuncio al tablón de anuncios Figura 10 Diagrama de secuencia: Añadir anuncio En este escenario. el Usuario Registrado podrá crear nuevos anuncios que aparecerán en el tablón de anuncios del colegio.P.) 26 .T. de Informática Aplicada (U.3. E. El Usuario Registrado deberá proporcionar el título del anuncio y el contenido del mismo.2.V.Vicente Sancho Guijarro Proyecto Final de Carrera 3.S.

3.S. se los devolverá al alumno E.) 27 .T.P. Consultar horario Figura 11 Diagrama de Secuencia: Consultar Horario Este escenario permitirá tanto a los alumnos como a sus tutores consultar el horario de las clases del alumno. de Informática Aplicada (U.3. Una vez que el sistema tenga los horarios del grupo del alumno.V. El sistema obtendrá los datos del grupo del alumno que solicita el horario. Con los datos del grupo solicitará el horario de cada asignatura que tenga ese grupo en cuestión.Vicente Sancho Guijarro Proyecto Final de Carrera 3.

T.4. El sistema le devolverá todos los datos del alumno. Dar de baja alumnos Figura 12 Diagrama de Secuencia: Dar de baja alumnos En este escenario el administrador podrá eliminar o dar de baja a alumnos de la aplicación. En esta situación el administrador solicitará los datos del alumno a eliminar. si el administrador confirma la eliminación del alumno.) 28 .3.S. E. de Informática Aplicada (U.V. el sistema lo intentará suprimir del sistema devolviendo el resultado de la eliminación al administrador.P.Vicente Sancho Guijarro Proyecto Final de Carrera 3.

se las devolverá al alumno.T.) 29 . Para cada asignatura que se imparta en ese grupo se obtendrá sus notas correspondientes.Vicente Sancho Guijarro Proyecto Final de Carrera 3.5.S. Mostrar notas Figura 13 Diagrama de Secuencia: Mostrar notas En la Figura 13 Diagrama de Secuencia: Mostrar notas podemos ver el diagrama de secuencia necesario para que los alumnos puedan ver las notas de las asignaturas en las que están matriculados. Una vez que el sistema haya obtenido todas las notas.P.V. de Informática Aplicada (U. E. El escenario comienza cuando el alumno desea ver sus notas.3. el sistema obtendrá los datos del alumno y con éstos los del grupo al que pertenece el alumno.

Una vez que haya acabado de puntuar a los alumnos de una asignatura puede pasar a la siguiente asignatura que imparta.3. Poner notas Figura 14 Diagrama de Secuencia: Poner notas Este diagrama representa los pasos que deberá seguir el profesor a fin de poder calificar a sus alumnos.Vicente Sancho Guijarro Proyecto Final de Carrera 3.) 30 . El profesor pedirá al sistema que le proporcione los alumnos que tiene en cada asignatura que imparte ese profesor. de Informática Aplicada (U.V.P.S. El sistema le devolverá el listado de alumnos para esa asignatura. E.T. En este momento el profesor podrá calificar a cada uno de los alumnos.6.

El profesor podrá repetir este proceso por cada asignatura que imparta.V.7.Vicente Sancho Guijarro Proyecto Final de Carrera 3.) 31 .P. E.S. El profesor solicitará al sistema que le proporcione el listado de alumnos que asisten a la asignatura que el elija (de las que el profesor imparte). para ello deberá indicar la fecha de la falta (por defecto la fecha del sistema) y si ha sido justificada.3. de Informática Aplicada (U. el profesor podrá ir indicando al sistema los alumnos que han faltado a la asignatura. Una vez que el sistema le dé el listado de alumnos.T. Poner faltas de asistencia Figura 15 Diagrama de Secuencia: Poner faltas de asistencia Este diagrama de secuencia es muy parecido al que podía verse en la Figura 14 Diagrama de Secuencia: Poner notas.

) 32 .3. En el primer paso. televisores. Reservar equipaciones Figura 16 Diagrama de Secuencia: Reservar equipación En este escenario el profesor será capaz de realizar la reserva de equipaciones del colegio como puedan ser radio-cd. El sistema le devolverá un listado con los días en que se puede reservar la equipación.P. etc. E. el profesor pedirá al sistema que le muestre la disponibilidad de la equipación que está interesado en reservar. a lo que el sistema le responderá si fue posible realizar la reserva de la equipación requerida. A continuación el profesor confirmará los datos de la reserva. En este momento el profesor deberá escoger una de las fechas disponibles y escribir el motivo de su petición.8.T.Vicente Sancho Guijarro Proyecto Final de Carrera 3. de Informática Aplicada (U.V.S.

9. En el diagrama mostrado en la Figura 17 Diagrama de secuencia: Anular reserva. El primer paso que seguirá el usuario registrado será pedir al sistema que le proporciones todas las reservas que tiene. puede verse los pasos que necesitará seguir un usuario registrado para poder eliminar una reserva que haya efectuado él mismo. Anular reserva de instalaciones Figura 17 Diagrama de secuencia: Anular reserva de instalaciones. Como último paso el sistema le proporcionará el listado de reserva actualizado.T.S. E. de Informática Aplicada (U. éste podrá escoger la reserva de la instalación para anular y el sistema quitará la reserva.P.3. Cuando el sistema le devuelva el listado con las reservas del usuario.Vicente Sancho Guijarro Proyecto Final de Carrera 3.) 33 .V.

1. Se ha elegido esta arquitectura debido al desacoplamiento entre las distintas capas. E. Esta capa es la encargada de interaccionar con el usuario a través de una representación visual. Estas capas se corresponden con la de presentación. De esta forma se pueden cambiar fácilmente el comportamiento de las clases en el nivel de aplicación sin que ello influya en las otras capas.P.S.T. Nivel de presentación La primera capa es la de presentación. Diseño Para el diseño del sitio Web se ha escogido una arquitectura de tres capas. de Informática Aplicada (U. A continuación presentamos algunas capturas de pantalla representativas del proyecto. aplicación y persistencia. PRESENTACIÓN APLICACIÓN PERSISTENCIA Figura 18 .) 34 .Arquitectura a tres capas. En esta capa también se ofrecen servicios al usuario.Vicente Sancho Guijarro Proyecto Final de Carrera 4.V. 4.

Figura 20 Cabecera de la página. • En la parte izquierda de la página encontramos la zona de navegación representada por un menú desde el cual podemos acceder a las diferentes secciones. Emilio Lluch) y debajo de ambos una barra amarilla donde aparece la fecha y la hora actual. A la parte izquierda encontramos la zona institucional.P. E. en la parte central el nombre del colegio (C. Esta es la pantalla principal del sitio web.P.T.S. de Informática Aplicada (U. la cual se va actualizando cada segundo. con el logotipo del colegio.) 35 . La podemos dividir en varias partes.V.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 19 Captura de la página de inicio. que consta de tres elementos. • La cabecera.

• Figura 22 Formulario de inicio de sesión Por último. mostrando los sábados y domingos en rojo.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 21 Menú del sitio web. La siguiente página se corresponde con la que muestra el calendario escolar. que a su vez la podemos dividir en dos partes. Para ello se ha utilizado un script que forma un calendario. en la zona central de la página se haya la zona de información.V. Figura 23 Zona de información de la página de inicio.) 36 . de Informática Aplicada (U. A continuación presentamos otros ejemplos de las páginas web implementadas en nuestro proyecto.S.P. nos dice de qué se trata en la parte inferior de la página. En la parte superior se ubica la información principal que ofrece la página. Si pinchamos en un festivo o un día en el cual hay un evento programado. Justo debajo del menú se encuentra una pequeña zona de entrada de datos para que los usuarios registrados en la base de datos puedan identificarse introduciendo su login y su contraseña y acceder a su zona privada.T. mientras que en la parte inferior aparecen las cinco últimas noticias introducidas en la base de datos. así como los festivos marcados como tales en la base de datos. E. También se marcan de otro color los eventos introducidos por el centro en la base de datos.

Figura 25 Captura del horario de clase en la zona privada de un alumno. Otro cambio es que ahora en vez de mostrar en la parte inferior noticias. se muestra el horario de un alumno. sólo se muestran los próximos eventos referentes al desarrollo del curso ya que son los que más interés tienen para el alumno. leyendo el horario de cada asignatura de la base de datos. volviendo tras ello a la página inicial del sitio web. También observamos que en la zona donde se ha identificado el usuario.T. La siguiente captura de pantalla se corresponde con un ejemplo de página de la zona privada del alumno. como por ejemplo la fecha de inicio del próximo curso que es lo que hemos puesto en la captura de pantalla adjunta. E.) 37 . En esta pantalla por ejemplo. Para ello el alumno debe haberse identificado antes. También da la opción de cerrar sesión.S.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 24 Captura de la página donde se muestra el calendario escolar. de Informática Aplicada (U. el menú ha cambiado.V. ahora aparece “Bienvenido” seguido de su nombre de pila. Como podemos comprobar.P. ofertando ahora las opciones de la zona privada del alumno.

de Informática Aplicada (U.V.S. la siguiente captura de pantalla pertenece a la zona privada del profesor.P. pudiendo elegir el trimestre correspondiente y pudiendo guardar cada nota individualmente o todas a la vez. E. Al igual que la zona privada del alumno.Vicente Sancho Guijarro Proyecto Final de Carrera Por último.T. esta parte del sitio también dispone de su propio menú. En este ejemplo.) 38 . Figura 26 Captura del formulario de notas de la zona privada del profesor. podemos apreciar la pantalla de la que dispone el profesor para poner calificaciones a los alumnos que imparte clase.

También sirve de enlace entre las otras dos capas.Vicente Sancho Guijarro Proyecto Final de Carrera 4. Capa de presentación Zona anónima Zona alumno Zona profesor Analizadorlogin Anonimo_inc Alumno_inc Profesor_inc Capa de aplicación bd Capa de persistencia Base de datos Figura 27 Capas del proyecto La capa de aplicación está organizada en cinco componentes.V. El analizador del login será el encargado de comprobar el usuario y luego redirigir a su zona privada correspondiente cuando un usuario de identifique desde la zona anónima. ya que la capa de presentación no accede a la base de datos directamente. Nivel de aplicación Esta capa es la encargada de implementar el comportamiento de nuestro sitio web.S. sino que ésta se comunica con la capa de aplicación para demandarle el servicio deseado y la capa de aplicación se comunica con la capa de persistencia para recuperar los datos necesarios.2. de Informática Aplicada (U. Los siguientes E.) 39 .P.T.

El uso de este patrón es muy útil para actualizar cambios en la base de datos como pueden ser el tipo de base de datos (MySQL. A continuación mostramos el diagrama entidad-relación utilizado para la implementación de la base de datos de nuestro proyecto. E.T. ya que en ambos accedíamos a la base de datos con usuarios distintos. alumno_inc y profesor_inc) son los encargados de implementar la lógica de las zonas correspondientes. para adaptarnos a la base de datos del servidor simplemente teníamos que cambiar la clase bd sin tener que tocar ningún fichero más. etc.) o el nombre de la base de datos por ejemplo. es decir. En nuestro caso nos ha sido muy útil. De esta forma. Este patrón consiste en utilizar la clase bd para todas las operaciones que interactúen con la base de datos. lo hará a través de bd. Cuando alguno de estos ficheros necesite acceder a la base de datos ya sea para realizar una consulta o para modificar datos. Nivel de persistencia La capa de persistencia es la que dota al sistema de poder mantener los datos de una forma persistente como su propio nombre indica. SQL Server.3.) 40 . de mantener información de una sesión a otra aunque el sistema no esté en uso. Este componente surge de aplicar el patrón de diseño llamado Fachada o Façade.Vicente Sancho Guijarro Proyecto Final de Carrera tres componentes (anonimo_inc.S. por ejemplo. de Informática Aplicada (U. 4. para hacer pruebas en nuestro servidor local y luego subirlas al servidor prestado por el director del proyecto.V.P.

T. el administrador. como son los pertenecientes al equipo directivo.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 28 Diagrama entidad-relación.V.) 41 . En el diagrama podemos observar los tipos de personal que existen en el colegio. el alumno y E.P.S. de Informática Aplicada (U. el padre.

P. Asimismo. las cuales son impartidas por un profesor. Los alumnos están matriculados en un grupo. Pueden ser del tipo festivo. por lo que también puede ser padre.etc. . Los grupos están compuestos por asignaturas. el cual se caracteriza por su número de curso y su letra. E. ya que por ejemplo. así como reservar una instalación del colegio.) 42 . será el delegado del mismo. son los únicos que pueden introducir eventos. un profesor puede formar parte del equipo directivo del centro o un profesor puede llevar a su hijo a ese colegio. de Informática Aplicada (U. proyector.V.S. Estos eventos pueden ser de varios tipos según su atributo evento. Todos los usuarios identificados en el sistema podrán publicar anuncios en el tablón de anuncios.T.Vicente Sancho Guijarro Proyecto Final de Carrera el profesor. los cuales se utilizan en el calendario escolar para marcar los festivos en rojo. También podrán ser de tipo noticia. Uno de ellos. Esta especialización de usuario registrado es disjunta. Los miembros del equipo directivo.). junto con el administrador. como puede ser el día de inicio de las clases. además. pudiendo un profesor impartir múltiples asignaturas. Cada grupo también tendrá un profesor que lo tutorice. cada vez que falte a una clase se le pondrá una falta de asistencia que estará por defecto sin justificar hasta que los padres la justifiquen al tutor del grupo. el alumno podrá obtener una nota por trimestre. los cuales se muestran en la parte inferior de la zona pública o de tipo evento del curso. mientras que los profesores serán los únicos que puedan reservar equitaciones (radio-cd. Por cada asignatura y curso. los cuales se muestran en las zonas privadas y muestran información de interés a los usuarios registrados.

• Otras que pueden abrirse y cerrarse. 5. Tecnologías Dada la necesidad de crear contenidos dinámicos. y algunas tienen atributos que pueden tomar algún valor. Gracias a Internet y a los navegadores del tipo Internet Explorer.) 43 . es un lenguaje de marcación diseñado para estructurar textos y presentarlos en forma de hipertexto.2. de Informática Aplicada (U. El lenguaje HTML puede ser creado y editado con cualquier editor de textos básico. en la pantalla del ordenador. por lo que no supondrá una dificultad encontrar documentación en la cual apoyarnos durante el desarrollo del sitio web.1. como puede ser Gedit.V. Microsoft Wordpad.Vicente Sancho Guijarro Proyecto Final de Carrera 5. debemos utilizar otros lenguajes a parte de HTML. Para este proyecto se ha optado por el lenguaje PHP acompañado de una base de datos MySQL. que consisten en breves instrucciones de comienzo y final. Firefox o Netscape. Existen además. mediante las cuales se determinan la forma en la que debe aparecer en su navegador el texto. Estas tecnologías cumplen sobradamente con nuestras necesidades y están muy extendidas. que es el formato estándar de las páginas web. También cabe destacar el hecho de que sean tecnologías de libre distribución y uso. el HTML se ha convertido en uno de los formatos más populares que existen para la construcción de documentos y también de los más fáciles de aprender. HTML El HTML. el Bloc de Notas de Windows (o Notepad).T. XHTML E. o cualquier otro editor que admita texto sin formato como GNU Emacs. Opera.1. • No pueden abrirse y cerrarse. Toda etiqueta se identifica porque está encerrada entre los signos menor que y mayor que (<>). como por ejemplo <p>. En general las etiquetas se pueden aplicar de las siguientes formas: • Se abren y se cierran.S. HTML utiliza etiquetas o marcas. Implementación 5. como por ejemplo Microsoft FrontPage o Macromedia Dreamweaver.HTML es una aplicación de SGML conforme al estándar internacional ISO 8879. otros programas para la realización de sitios Web o edición de código HTML. como <hr> que se vería en su navegador como una línea horizontal. 5. así como también las imágenes y los demás elementos. acrónimo inglés de HyperText Markup Language (lenguaje de marcas hipertextuales). como por ejemplo: <b>negrita</b> que se vería en su navegador como negrita. etc.1.1.P.

incluyendo elementos vacíos como pueden ser img o br.) 44 . XHTML 1.1. los valores de los atributos deben encerrarse entre comillas ('simples' o "dobles".Vicente Sancho Guijarro Proyecto Final de Carrera XHTML. XHTML 1. Es por eso que muchos lo consideran la “versión actual” del HTML. básicamente. en lugar de eso. E. donde no pueden dedicarse recursos suplementarios para afrontar la complejidad añadida de la sintaxis del HTML. La mayoría de las versiones recientes de los navegadores web más populares soportan XHTML adecuadamente.V. XHTML es el sucesor de HTML. En este sentido. XHTML serviría únicamente para transmitir la información que contiene un documento. ya que el atributo “selected” no contiene ningún valor explícito. pero cumple las especificaciones.x) son menores ya que. la W3C continúa recomendando el uso de XHTML 1. de XML.0. impresoras. es indiferente). PDAs. Como las etiquetas en XML distinguen entre mayúsculas y minúsculas (case-sensitive). es el lenguaje de marcado pensado para sustituir a HTML como estándar para las páginas web. pero es una recomendación aparte y a la vez paralela. La minimización de atributos (como <option selected>) está también prohibida. por lo que tiene. donde la información. a pesar de que esta empresa sea miembro de la W3C.. El cambio más importante es el requisito de que el documento esté bien formado y que todas las etiquetas estén explícitamente cerradas. más estrictas. XHTML es la versión XML de HTML.). donde las comillas podían omitirse en algunos casos. las mismas funcionalidades. pero algunas versiones más antiguas solo pueden leer el XHTML como si se tratara de HTML. Esto puede hacerse añadiendo una barra a la etiqueta: <img … /> y <br />. Por tanto. Todos los elementos han de ser explícitamente cerrados. teléfonos móviles.S. y HTML 4. principalmente. acrónimo inglés de eXtensible Hypertext Markup Language (lenguaje extensible de marcado de hipertexto). como se requiere en XML. En XHTML. Los cambios de HTML a la primera generación de XHTML (es decir. se usa <option selected="selected">. y la forma de presentarla estén claramente separadas. de Informática Aplicada (U. respetuosos con los estándares u ofrecer contenido que se visualice correctamente en la mayor parte de los navegadores. la recomendación XHTML ha definido todos los nombres de etiqueta en minúsculas.01 para publicar en la web. La necesidad de una versión más estricta de HTML se sintió principalmente porque el contenido de la World Wide Web ahora puede visualizarse desde numerosos dispositivos (como móviles) aparte de los ordenadores tradicionales. están destinados a conseguir la conformidad con XML. dejando para hojas de estilo y JavaScript su aspecto y diseño en distintos medios (ordenadores.. El mayor inconveniente es que el Internet Explorer de Microsoft es incompatible con XHTML. Al contrario ocurría en SGML y por consecuencia en HTML. Su objetivo es avanzar en el proyecto del World Wide Web Consortium de lograr una web semántica.P.T. gran parte de los autores de sitios web se ven forzados a elegir entre la escritura de documentos válidos.

Cuando se utiliza CSS. aunque existen pequeñas diferencias de implementación según marcas y versiones de los navegadores. la etiqueta <H1> no debería proporcionar información sobre como va a ser visualizado. • El documento HTML en sí mismo es más claro de entender y se consigue reducir considerablemente su tamaño. sin embargo. La información de estilo puede ser adjuntada tanto como un documento separado o en el mismo documento HTML. está solo parcialmente implementado en los más recientes. por ejemplo. Por ejemplo. • Los Navegadores permiten a los usuarios especificar su propia hoja de estilo local que será aplicada a un sitio web remoto. Las ventajas de utilizar CSS (u otro lenguaje de estilo) son: Control centralizado de la presentación de un sitio web completo con lo que se agiliza de forma considerable la actualización del mismo.Vicente Sancho Guijarro Proyecto Final de Carrera 5. el elemento de HTML <H1> indica que un bloque de texto es un encabezamiento y que es más importante que un bloque etiquetado como <H2>. especifica cómo se ha de mostrar <H1> : color. • Hay varias versiones: CSS1 y CSS2. mostrada en un dispositivo móvil. El W3C (World Wide Web Consortium) es el encargado de formular la especificación de las hojas de estilo que servirá de estándar para los agentes de usuario o navegadores. Por ejemplo.1. Un problema muy conocido de implementación de CSS es el de la versión 5. E.T. Los navegadores modernos implementan CSS1 bastante bien. fuente. una persona que lea esa página con un navegador pierde totalmente el control sobre la visualización del texto. personas con deficiencias visuales pueden configurar su propia hoja de estilo para aumentar el tamaño del texto o remarcar más los enlaces. La idea que se encuentra detrás del desarrollo de CSS es separar la estructura de un documento de su presentación. solamente marca la estructura del documento. • Una página puede disponer de diferentes hojas de estilo según el dispositivo que la muestre o incluso a elección del usuario. No obstante. En este último podrían definirse estilos generales en la cabecera del documento o en cada etiqueta particular mediante el atributo "style". CSS Las hojas de estilo en cascada (Cascading Style Sheets. y otras características no visuales como definir el volumen de un sintetizador de voz (véase Sintetización del habla). para ser impresa. y además. tamaño.S.) 45 . Por ejemplo. con lo que aumenta considerablemente la accesibilidad. alineación del texto. cada etiqueta <H1> debía disponer de la información si se deseaba un diseño consistente para una página. CSS) son un lenguaje formal usado para definir la presentación de un documento estructurado escrito en HTML o XML (y por extensión en XHTML). con CSS3 en desarrollo por el World Wide Web Consortium (W3C). CSS2.3. de Informática Aplicada (U. o ser "leída" por un sintetizador de voz.P.V.X del popular navegador Internet Explorer que utiliza un modelo no estándar para el cálculo de las medidas. Versiones más antiguas de HTML permitían atributos extra dentro de la etiqueta abierta para darle formato (como el color o el tamaño de fuente). La información de estilo separada en una hoja de estilo.

es más bien un lenguaje basado en prototipos.P. que es la que fabricó los primeros navegadores web comerciales. Al contrario que Java.T. pero con ciertas diferencias en el modelo de objetos del navegador que hacen a ambas versiones con frecuencia incompatibles. En junio de 1997 fue adoptado como un estándar ECMA. PHP es un acrónimo recurrente que significa "PHP Hypertext Pre-processor" (inicialmente PHP Tools. JavaScript JavaScript es un lenguaje interpretado. que incorporan Konqueror.S.4. es decir. E. Para evitar estas incompatibilidades. Para interactuar con una página web se provee al lenguaje JavaScript de una implementación del DOM. el World Wide Web Consortium (W3C) diseñó el estándar Document Object Model (DOM.1. Los autores inicialmente lo llamaron Mocha y más tarde LiveScript pero fue rebautizado como JavaScript en un anuncio conjunto entre Sun Microsystems y Netscape. muy similar al JavaScript de Netscape. que a pesar de su nombre no es europeo sino internacional. para realizar tareas y operaciones en el marco de la aplicación únicamente cliente. ó Modelo de Objetos del Documento en castellano). de Informática Aplicada (U. Tradicionalmente. con una sintaxis semejante a la del lenguaje Java.1. JavaScript no es un lenguaje orientado a objetos propiamente dicho. o creación de contenido dinámico para sitios web. 5.) 46 . En 1997 los autores propusieron JavaScript para que fuera adoptado como estándar de la the European Computer Manufacturers' Association ECMA.Vicente Sancho Guijarro Proyecto Final de Carrera 5.5. JavaScript se ejecuta en el agente de usuario al mismo tiempo que las sentencias van descargándose junto con el código HTML. con sede en Ginebra. utilizado principalmente en páginas web. El lenguaje fue inventado por Brendan Eich en la empresa Netscape Communications. ya que las nuevas clases se generan clonando las clases base (prototipos) y extendiendo su funcionalidad. sin acceso a funciones del servidor. JScript es la implementación de ECMAScript de Microsoft. el 4 de diciembre de 1995. ya que no dispone de Herencia. y se trata de un lenguaje interpretado usado para la creación de aplicaciones para servidores. Todos los navegadores interpretan el código JavaScript integrado dentro de las páginas web. se venía utilizando en páginas web HTML.V. Opera versión 7. que no requiere compilación. Poco después también lo fue como un estándar ISO. o. y Mozilla desde su primera versión. Personal Home Page Tools). las versiones 6 de Internet Explorer y Netscape Navigator. PHP PHP es un lenguaje de programación usado generalmente para la creación de contenido para sitios web. Últimamente también para la creación de otro tipo de programas incluyendo aplicaciones con interfaz gráfica usando la biblioteca GTK+. con el nombre de ECMAScript.

destaca su conectividad con MySQL • Leer y manipular datos desde diversas fuentes. Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL. por medio de la combinación de PHP y GTK (GIMP Tool Kit). habitualmente en combinación con el motor de base datos MySQL. También puede ser usado desde la línea de órdenes.) 47 .T. Microsoft SQL Server. existe además un IDE comercial llamado Zend Optimizer. entre otras cosas. E.NET. de Informática Aplicada (U. Firebird y SQLite. lo cual permite la creación de Aplicaciones web muy robustas. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres. Oracle. y regresa el resultado al servidor. bajo la licencia GNU. e ISAPI. Entre las ventajas de PHP podemos encontrar: • Es un lenguaje multiplataforma. también es posible crear aplicaciones con una interfaz gráfica para el usuario (también llamada GUI). generada por un script PHP. así como imágenes en diferentes formatos. Su interpretación y ejecución se da en el servidor. Además es posible utilizar PHP para generar archivos PDF. • Creación de aplicaciones gráficas independientes del navegador. PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos tales como UNIX (y de ese tipo.Vicente Sancho Guijarro Proyecto Final de Carrera El fácil uso y la similitud con los lenguajes más comunes de programación estructurada. Flash. pudiendo modificar el contenido a enviar. Postgres. ODBC. Cuando el cliente hace una petición al servidor para que le envíe una página web. aunque cuenta con soporte nativo para otros motores. lo que amplía en gran medida sus posibilidades de conexión. al estilo de Perl o Shell scripting. de la misma manera como Perl o Python pueden hacerlo. y al famoso CGI/Perl.NET/C#/VB. el servidor ejecuta el intérprete de PHP.S. y puede interactuar con los servidores de web más populares ya que existe en versión CGI. módulo para Apache. Los principales usos del PHP son los siguientes: • Programación de páginas web dinámicas. incluyendo el estándar ODBC. como Linux). • Capacidad de conexión con la mayoría de los manejadores de base de datos que se utilizan en la actualidad. esta versión de PHP se llama PHP CLI (Command Line Interface). Windows y Mac OS X. permiten a la mayoría de los programadores experimentados crear aplicaciones complejas con una curva de aprendizaje muy suave. lo que permite desarrollar aplicaciones de escritorio en los sistemas operativos en los que está soportado. • Programación en consola. DB2. y el cliente sólo recibe el resultado de la ejecución. a ColdFusion de la compañía Macromedia. a JSP/Java de Sun Microsystems. Debido al diseño de PHP. el cual se encarga de regresárselo al cliente. El modelo PHP puede ser visto como una alternativa al sistema de Microsoft que utiliza ASP.P. También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones y prácticas. utilizando la extensión PHP-GTK. el cual procesa el script solicitado que generará el contenido de manera dinámica. en el cual se encuentra almacenado el script. como C y Perl.V. incluyendo datos que pueden ingresar los usuarios desde formularios HTML.

• Es libre.1. Allan Larsson. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. y Michael "Monty" Widenius. Está desarrollado en su mayor parte en ANSI C. También. se cree que tiene relación con el nombre de la hija del cofundador Monty Widenius quien se llama My. • Biblioteca nativa de funciones sumamente amplia e incluida • No requiere definición de tipos de variables ni manejo detallado del bajo nivel. empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa una licencia que les permita ese uso. y Michael Widenius.V. SQL:2003. multihilo y multiusuario con más de seis millones de instalaciones. MySQL es una idea originaria de la empresa opensource MySQL AB establecida inicialmente en Suecia en 1995 y cuyos fundadores son David Axmark. MySQL MySQL es un sistema de gestión de base de datos. Michael Widenius en la década de los 90 trató de usar mSQL para conectar las tablas usando rutinas de bajo nivel ISAM. Por otro lado.Vicente Sancho Guijarro Proyecto Final de Carrera • Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext's o extensiones).T. pero. • Permite crear los formularios para la web. MySQL AB desarrolla MySQL como software libre en un esquema de licenciamiento dual. fiabilidad o usabilidad. • Permite las técnicas de Programación Orientada a Objetos. y el copyright del código está en poder del autor individual. MySQL está poseído y patrocinado por una empresa privada. • Posee una amplia documentación en su página oficial ([1]). La procedencia del nombre de MySQL no es clara.) 48 . pero sin sacrificar velocidad. Este nombre fue E. Esto lo conllevó a crear una API SQL denominada MySQL para bases de datos muy similar a la de mSQL pero más portable. Por más de 10 años. 5. mSQL no era rápido y flexible para sus necesidades.P. las herramientas han mantenido el prefijo My. entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda. de Informática Aplicada (U. sin embargo. el cual fue presentado a ANSI y desde ese entonces ha sido considerado como un estándar para las bases de datos relacionales. MySQL AB fue fundado por David Axmark.6. donde el software es desarrollado por una comunidad pública. SQL (Lenguaje de Consulta Estructurado) fue comercializado por primera vez en 1981 por IBM. que posee el copyright de la mayor parte del código. Además de la venta de licencias privativas. Al contrario de proyectos como el Apache. por lo que se presenta como una alternativa de fácil acceso para todos. Desde 1986. Por un lado lo ofrece bajo la GNU GPL. el nombre del delfín de MySQL es Sakila y fue seleccionado por los fundadores de MySQL AB en el concurso “Name the Dolphin”. Allan Larsson. El objetivo que persigue esta empresa consiste en que MySQL cumpla el estándar SQL. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. la compañía ofrece soporte y servicios. el estándar SQL ha aparecido en diferentes versiones como por ejemplo: SQL:92. SQL:99.S.

) 49 . que a menudo aparece en combinación con MySQL. Flickr o Drupal.Vicente Sancho Guijarro Proyecto Final de Carrera enviado por Ambrose Twebaze. un desarrollador de Opensource Africano. pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. lo que hace a MySQL ideal para este tipo de aplicaciones. el idioma local de Swaziland y corresponde al nombre de una ciudad en Arusha. en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python).S. cerca de Uganda la ciudad origen de Ambrose. E. y por herramientas de seguimiento de errores como Bugzilla.V. derivado del idioma SiSwate. MySQL es muy utilizado en aplicaciones web como MediaWiki. Yahoo.P. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos. Amazon. Su popularidad como aplicación web está muy ligada a PHP. de Informática Aplicada (U. Tanzania.T. MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM.

Para volcar el contenido de esa variable en la capa correpondiente. if (minutos < 10) minutos = "0" + minutos.T.php.S. de Informática Aplicada (U. contactar. reglamento. document. index.js.P.getHours().php.js"> </script> E. las cuales se actualizan en tiempo real. } Esta función obtiene la fecha (obtenida a su vez de la función displayDate()) y la hora y las guarda en la variable cadena.getElementById('campoHora'). var segundos = hora. asignamos dicha variable a la propiedad innerHTML de la capa campoHora. Sección pública La capa de presentación se ha implementado en HTML. historia.getMinutes(). Descripción de la implementación 5.V. para que la página HTML ejecute el Javascript al cargarse basta con poner estas líneas: <head> … <script type="text/javascript" src=". Por último. y con PHP.php). Esta capa está representada por los ficheros Alumno_* (menos Alumno_inc.php y enlaces. aplicando los estilos con hojas de estilo CSS. tiempo = setTimeout("displayTime()". En la parte inferior de la cabecera se ha implementado la fecha y la hora.php.innerHTML = cadena.php.1000).2. cadena = displayDate() + " " + horas + ":" + minutos + ":" + segundos. equipodirectivo. La función encargada de leer la fecha es la siguiente: function displayTime() { var hora = new Date(). para que la hora se actualice cada segundo llamamos a la función setTimeout pasándole como parámetros la misma función en la que estamos y un intervalo de 1000 milisegundos.</div></td> Esta capa es rellenada por el script programado en Javascript llamado fecha. Para ello se ha definido una capa en HTML: <td colspan="2" class="fecha"><div id="campoHora">&nbsp.) 50 . localización. La cabecera simplemente se compone de dos imágenes (el logotipo del colegio y el nombre del colegio)./js/fecha. if (segundos < 10) segundos = "0" + segundos.Vicente Sancho Guijarro Proyecto Final de Carrera 5. el cual cada segundo lee la fecha del sistema y la plasma en la capa que hemos llamado campoHora. Finalmente. var horas = hora. var minutos = hora.php.php.php. calendario.php).2.getSeconds(). Se ha intentado que el uso de las CSS sean lo más compatibles posibles con los diferentes navegadores existentes en el mercado ya que por desgracia no todos siguen completamente los estándares. Profesor_* (menos Profesor_inc.1.

El menú es una lista desordenada. } Cuando pasamos el curso por encima de un elemento podemos observar que cambia el color de fondo del elemento. font-family: Verdana. font-weight: bold. El primero se aplica a los ítems que estén dentro de una lista desordenada. Helvetica. sans-serif. Para ello hemos aplicado los siguientes estilos descritos en el fichero general. } E.T. la alineación y el tipo de lista entre otras cosas. Helvetica. la cual hemos modificado para que no salga la viñeta al principio de cada elemento y salga cada uno con borde y fondo verde. font-size: 13px.Cabecera del sitio web."> Proyecto Final de Carrera Figura 29 . tamaño de la letra. En estos estilos definimos el color. de Informática Aplicada (U. text-align: left.css. la cual se activa cuando pasamos el cursor por encima del elemento.) 51 . Para ello especificamos para el último estilo la propiedad hover. background-color: #99CC00. margin-left: -40px.Vicente Sancho Guijarro … </head> <body onload="javascript:displayTime(). font-size: 14px. sans-serif. El segundo se aplica a los ítems de la lista desordenada que sean enlaces. color: #FF66CC. padding-top: 8px. list-style-type: none.P. height: 24px.V. ul li:hover { background-color: #CCFFCC. Arial. vertical-align: middle. como es el caso de los elementos del menú. Arial. } ul li a { font-family: Verdana. width: 140px. el tipo de letra. ul li { border: medium ridge #CCFF66.S. color: #003399.

El primero es para introducir el login del usuario. 5. <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.) 52 . es para introducir la contraseña. se crea una cookie y se devuelve al usuario a index. como su propio nombre indica. de Informática Aplicada (U. El código HTML del formulario es el siguiente. se redirige al usuario al archivo analizadorlogin. E.2.V. el cual será explicado más abajo. Si la autentificación es errónea.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 30 Menú de la zona anónima. cuando nos centremos en los ficheros correspondientes a la capa de aplicación.php"> <p> <label>Login <input type="text" name="log" /> </label> <br/> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" /> </label> </p> </form> <p> Cuando se pulsa sobre identificarse.P.2. que al encontrar esta cookie muestra un mensaje advirtiéndolo. como se muestra en el código siguiente.S. mientras que el segundo es de tipo password que. <?php if($_COOKIE['login'] == "Error") { echo '<span class="fechaNoticia">Autenticación errónea</span>'.php. Sección privada El formulario de identificación consta de dos campos.T. } ?> Figura 31 Formulario de identificación.

devuelve un mensaje de error. } Por último. function Conectar() //realiza la conexion con la base de datos. Si la conexión falla por cualquier motivo. //cierra la conexion } Según avanzamos en el proyecto. analizadorlogin.$fecha[2]).php y bd.T.php se comunica con la capa de persistencia."cole1".". return $res. con esta función podemos cerrar la conexión con la base de datos cuando hemos terminado de trabajar con ella.$link)) { echo "Error seleccionando la base de datos. como son las vocales acentuadas o las eñes.php. $fecha_hora=split(" ".php. } Con esta función. de Informática Aplicada (U.$hora[0]). $hora = split(":". también le añadimos funciones para facilitar la lectura de datos de la base de datos.V. $c). function sacarFecha($fecha_datetime) { $fecha = split("-".S. E.".) 53 . } if (!mysql_select_db("webcole". ya que en ella se implementan las funciones necesarias para acceder a la base de datos. Esta capa la forman los ficheros Anonimo_inc. function siguiente($res) { return mysql_fetch_assoc($res). exit(). } Esta función recibe como parámetros la sentencia sql a ejecutar y la conexión sobre la cual realizarla. function consulta($sql. Alumno_inc.Vicente Sancho Guijarro Proyecto Final de Carrera La capa de aplicación se ha desarrollado íntegramente en PHP. Las funciones implementadas para acceder a la base de datos son las siguientes. exit(). mientras que bd.php.php. } return $link. con el usuario cole1 y su correspondiente contraseña. function Desconectar($link) { mysql_close($link). { if (!($link=mysql_connect("localhost".P. como por ejemplo funciones para sacar la fecha de los campos de tipo DateTime en el formato deseado o para convertir los caracteres especiales a formato HTML. Los cuatro primeros se comunican directamente con la capa de presentación. $c) { $res = mysql_query($sql. Esta función se encarga de realizar la conexión con la base de datos. Profesor_inc.$fecha_datetime). avanza al siguiente registro de las filas devueltas por la consulta. al realizar una consulta."webcole"))) { echo "Error conectando a la base de datos.

'ñ'. $resultado2 = consulta($sql2.'È'.'.'. } . $conn).V.'. '-' .'Ò').$traducir.'&ograve. //Comprobamos si es profesor $sql2 = 'SELECT * FROM profesor'.'Ó'. Para ello consultamos la tabla usuario. $conn).'.'&eacute.'&iacute.'.'. $ok = 0.'.'&agrave. que su contraseña es la correcta y que tipo de usuario es. } } //Comprobamos si es alumno $sql3 = 'SELECT * FROM alumno'. $fecha[1] .'&Egrave.'&egrave.php es el encargado de redireccionar a un usuario cuando se identifica a su zona privada.'&ntilde. $sql = 'SELECT * FROM usuario'.'.').'ú'.' &Ograve.T. // se han encontrado en la base de datos session_start(). return $fecha_convertida. while($row = siguiente($resultado)) { if($_POST['pass'] == $row['contrasenya'] && $_POST['log'] == $row['login']) { $ok = 1.'. Si ambos coinciden.'&oacute. 'à'.'À'.'É'.'Ú'.'&Agrave.'&Ntilde. header('Location: intranetProfe. $resultado3 = consulta($sql3.'Í'. return str_replace($especial. $conn).'.S.php').'.'Á'. break. donde buscamos si coincide el login y la contraseña.'. $conn = conectar().'ó'. include("bd. de Informática Aplicada (U. buscamos en la tabla profesor y en la tabla alumno para comprobar que tipo de usuario es y finalmente lo redirigimos a su zona privada correspondiente mediante la cabecera http llamada Location.'. $traducir=array('&aacute.'&Iacute.'.'&Uacute . '-' Proyecto Final de Carrera .'&Oacute. while($row2 = siguiente($resultado2)) { if($_POST['log'] == $row2['login']) { //mysql_close($dp).$texto).'&ua cute. } El fichero analizadorlogin. while($row3 = siguiente($resultado3)) el cookie con el nombre del usuario E. //Reemplaza en un texto las tildes y caracteres especiales por su equivalente en html function tohtml($texto) { $especial=array('á'. //Guardamos conectado $_SESSION["id"] = $row["login"]. $resultado = consulta($sql. $_SESSION["tipo"] = "Profesor".P.'Ñ'.Vicente Sancho Guijarro $fecha_convertida=$fecha_hora[0] $fecha[0].php").'.'í'.'&Aacute.'ò'.'&Eacute.'.'.'é'.'è'.) 54 . Esta clase utiliza la clase bd para hacer una consulta en la base de datos para cerciorar que el usuario existe.

También la zona del usuario anónimo tiene su fichero de funciones para implementar la capa de aplicación. header("Location: index.S. time()+1).php de la siguiente forma: <h3>Noticias</h3> <p> <?php require_once ("Anonimo_inc.php. </script>'. como están ordenadas en orden descendente. serán las cinco noticias más recientes. Cuando en la zona del alumno se requiere alguna función php para cargar los contenidos de la base de datos. function noticias() { $conn=Conectar(). de Informática Aplicada (U. for($i=0. $sql="SELECT * FROM evento WHERE titulo = 'Noticia' ORDER BY idevento DESC". carga esta función del fichero Alumno_inc.V.P. $i<5 && $i<numeroFilas($res).$conn). } } } } if($ok == 0) { setcookie('login'. en este caso es el fichero Anonimo_inc.) 55 . Un ejemplo de la llamada a estas funciones lo podemos encontrar en todas las páginas del usuario anónimo.php. ?> </p> La función noticias() está implementada de la siguiente forma. 'Error'. $res=consulta($sql. header('Location: intranetAlumno.php. Para esto llama a la función noticias() que se encuentra en el fichero Anonimo_inc.$i++) { E. } desconectar($conn). Ponemos las noticias en la página y para terminar nos desconectamos de la base de datos. Primero conecta con la base de datos y realiza una consulta de todos los eventos de tipo ‘Noticia’ ordenados descendentemente.Vicente Sancho Guijarro { Proyecto Final de Carrera if($_POST['log'] == $row3['login']) { $_SESSION["tipo"] = "Alumno".php"). Luego mediante el bucle for hacemos que lea las cinco primeras noticias que.php'). echo '<script language="Javascript"> alert("Autenticación errónea").php"). Del mismo modo en la zona del profesor los carga del fichero Profesor_inc. En la parte inferior encontramos las noticias más recientes introducidas en la base de datos.T. noticias().

S. Para ello simplemente hemos tenido que descomentar las líneas referentes a InnoDB del fichero de configuración de MySQL. de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera $row = siguiente($res).sacarFecha($row["fecha"]).cnf.T. ya que la original no aceptaba las restricciones que queríamos imponer en las tablas. Hemos elegido MySQL por tratarse de una base de datos libre y gratuita. la capa de persistencia viene implementada como una base de datos en MySQL.V. llamado setup. } desconectar($conn). } "<p><span Figura 32 Página principal con la zona de noticias en la parte inferior. En este caso. Se ha cambiado el tipo de tablas por defecto (MyISAM). así como por su buena integración de su uso con PHP." </span>". echo class='fechaNoticia'>".) 56 . Para crear la base de datos hemos usado PHPMyAdmin." </p>". por lo que hemos puesto tablas de tipo InnoDB. En el anexo se detalla el fichero de creación de la base de datos. E. my.tohtml($row["descripcion"]).php.P.

Con una resolución de 800x600. se puede ver que si se representa adecuadamente.T. E.P. aunque hay que señalar de desde tiempo estas resoluciones tan bajas son cada vez menos frecuentes.anybrowser. Comprobador de links 6.com/ podemos ver como quedaría nuestra Web con distintos tamaños de ventana sin la necesidad de tener que cambiar la resolución de nuestro monitor.S.1 Tamaño de la ventana Gracias a la página Web http://www. de Informática Aplicada (U.) 57 . Con una resolución de 600x480 la página inicial de nuestra Web se vería de la siguiente forma: Figura 33 Resolución a 600x480 Como podemos ver se aprecian problemas con la cabecera.V.Vicente Sancho Guijarro Proyecto Final de Carrera 6. Pruebas Con el fin de comprobar cómo responde nuestra aplicación a las distintas situaciones en las que se puede encontrar hemos decidido realizar una serie de pruebas. que consistirán en las siguientes: • • Tamaño de la ventana.

P.S.) 58 .Vicente Sancho Guijarro Proyecto Final de Carrera Figura 34 Resolución 800x600 A partir de esta resolución (800x600) la Web se desplegará adecuadamente en los navegadores. Figura 35 Resolución 1024x768 E.T. de Informática Aplicada (U.V.

upv.php: OK http://pion. Esta aplicación se puede encontrar en la siguiente dirección: http://validator.es/webcole/js/fecha.upv. tuvimos que entrar en cada página y copiar el código fuente de la página para introducirlo en el validador.upv.es/webcole/#: OK http://pion.php: OK http://pion.es/webcole/css/general.Vicente Sancho Guijarro Proyecto Final de Carrera 6.es/webcole/enlaces.upv. Siendo el resultado obtenido el siguiente: http://pion.disca. solamente realizaremos esta prueba sobre la parte pública de nuestra Web.php: OK http://pion.php: OK Total Number of links for this page: 13 Con lo que todos los enlaces de la sección pública son válidos.) 59 .php: OK http://pion.upv.upv.upv.es/webcole/analizadorlogin.es/webcole/css/principal.upv.es/webcole/: • • • • • • • • • • • • View View View View View View View View View View View View http://pion.disca.php: OK http://pion.disca.es/webcole/contactar.T.es/webcole/calendario.css: OK http://pion.disca.disca.disca. 6.upv.php: OK http://pion.org/ Como esta aplicación no podía entrar en la intranet del colegio.disca. E.S.disca.js: OK http://pion.disca.upv.disca. de Informática Aplicada (U.w3.disca.upv.es/webcole/localizacion.php: OK http://pion.2 Comprobador de links Debido a que en aplicación la mayoría de las páginas están en la intranet (con acceso restringido.P.upv. que fueron los responsables del estándar.disca.disca.es/webcole/reglamento.css: OK http://pion.upv.es/webcole/equipoDirectivo.es/webcole/historia.V.3 Estándar XHTML Para comprobar si nuestra aplicación cumplía con dicho estándar utilizamos una aplicación en línea proporcionado por el World Wide Web Consortium (W3c).

de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 36 XHTML . que tiene menos restricciones que el estricto.S.página válida E. El principal motivo de este cambio fue hacer posible mantener sin cambios el código javascript que hacia uso de la propiedad “name” en los formularios.0 Strict al XHTML 1. Esta propiedad no está permitida en el XHTML 1.T. Figura 37 XHTML .P.) 60 . llegando a ser necesario el pasar del XHTML 1.0 Strict.página con errores Donde más problemas tuvimos fue en la parte del profesor.V.0 Transitional.

se ha utilizado una aplicación online del w3c.php Profesor_reserva_equipacion.php Profesor_reserva_instalacion.4 Estándar CSS Los css nos permiten cambiar el estilo de las distintas etiquetas que se encuentran en las páginas HTML.php Profesor_faltas. En este caso.0.php Alumno_reserva_instalacion.) 61 . El resultado obtenido al pasarle el css de la Web se puede ver en la siguiente imagen. de Informática Aplicada (U. La dirección para acceder a esta aplicación es la siguiente: http://jigsaw.Vicente Sancho Guijarro Proyecto Final de Carrera Páginas que cumple con el XHTML 1.php Figura 38 xhtml Esta imagen indica que ha superado el estándar XHTML 1.V. Figura 39 Resultado de la validación CSS E. al igual que en el estándar XHTML.w3.P.org/css-validator/ .php Profesor_notas.0 Transitional: Profesor_equipaciones.php Profesor_instalaciones. y por tanto podría colocarse esta imagen en el sitio Web 6. siempre que estas páginas agreguen las css.S.T.

Explorer 6 En este navegador se pueden ver algunos problemas con la cabecera de la Figura 40 Explorer 6 . En concreto comprobaremos los siguientes navegadores: • • • • • Firefox 2 Explorer 6 Explorer 7 Opera 9 Mozilla 1. así como su visualización. 6.2 página.Vicente Sancho Guijarro Proyecto Final de Carrera 6.T.5.Problemas visualización E.S.5.1 Firefox 2 Durante el desarrollo de la aplicación se utilizó Firefox como navegador predeterminado con lo que todas las funcionalidades del sistema son correctas en este navegador.7 6.P. de Informática Aplicada (U.) 62 .5 Navegadores Esta prueba consiste en comprobar el correcto funcionamiento en los navegadores más utilizados.V.

V. página de reservas de equipaciones (Intranet de profesores).página inicial Las limitaciones por el código Javascript son prácticamente las mismas que en la versión anterior.5. No se pueden anular las reservas No se pueden realizar nuevas reservas de instalaciones y equipaciones.3 Explorer 7 A diferencia de lo que hacia su predecesor. de Informática Aplicada (U. Explorer 6 se queda a medias. Se han encontrado problemas para ejecutar las siguientes páginas: • • • • Página de inserción de notas (Intranet de profesores) Página de inserción de faltas de asistencia (Intranet de profesores).P. E.T. 6. sin embargo si se pueden poner falta a varios alumnos utilizando el botón “Poner faltas a todos” Página de reservas de instalaciones (Intranet de profesores y alumnos).) 63 .S. aunque en esta versión si es posible efectuar las reservas de instalaciones y equipaciones. Figura 41 Explorer 7 . siendo capaz de ejecutar algunas de ellas y dando errores en otras. No se pueden poner ni quitar faltas a alumnos aislados. Explorer 7 si representa correctamente la página inicial de la aplicación Web.Vicente Sancho Guijarro Proyecto Final de Carrera En cuanto a la capacidad de ejecutar las funcionalidades que hacen uso de Javascript.

de Informática Aplicada (U.P.T.V. • • Página de inserción de notas (Intranet de profesores) Página de inserción de faltas de asistencia (Intranet de profesores). sin embargo si se pueden poner falta a varios alumnos utilizando el botón “Poner faltas a todos” E. No se pueden poner ni quitar faltas a alumnos aislados. siendo estas las más importantes.S.5.) 64 .4 Opera 9 La visualización de la página principal es correcta. Opera también presenta algunas incompatibilidades con el Javascript. como puede verse en la siguiente figura.Vicente Sancho Guijarro Proyecto Final de Carrera 6. Figura 42 Opera .página inicial Como en el caso de Explorer 6.

Vicente Sancho Guijarro Proyecto Final de Carrera 6. Figura 43 Mozilla .P. Mozilla interpreta correctamente la página inicial de nuestra aplicación.7 Como puede verse en la figura.página inicial En este caso no hay ningún tipo de compatibilidad con el Javascript.5 Mozilla 1.) 65 .5.T. de Informática Aplicada (U.S.V. E.

) 66 . Entre las principales faltas destacan: • • Implementación de la parte del administrador. Los problemas prácticos han aparecido debido a la necesidad que los miembros del proyecto han tenido para aprender un nuevo lenguaje de programación como es php y a la circunstancia de tener que refrescar las nociones que poseíamos de html. y del equipo directivo. mediante técnicas de encriptación de datos utilizando protocolos como ssl. aunque siempre con la guía de nuestro tutor del proyecto. css y javascript o de adquirirlos desde cero en algunos casos. práctico e incluso interpersonal. que nos ayudó señalándonos los fallos que cometimos durante el desarrollo de la aplicación. Como conclusión final podemos decir que la realización de este proyecto nos ha permitido crecer profesionalmente y también en ciertos aspectos personalmente.S. obligándonos a tomar decisiones en cuanto al análisis. Hacer seguro la transmisión de datos sensibles de la aplicación como puedan ser las contraseñas.P. Durante el trabajo en este proyecto nos hemos tenido que afrontar una serie de problemas. tanto de índole teórico. lo que nos ayudará en nuestro futuro como profesionales del sector de la informática. Nos ha dado la oportunidad de iniciar una aplicación desde sus inicios hasta casi su final. E. de Informática Aplicada (U. lo que nos obligó a hacer un esfuerzo con el fin de adaptarnos unos a otros. Otro problema con el que hemos tenido que enfrentarnos ha sido al hecho de no disponer del suficiente tiempo para completar el proyecto como hubiéramos querido. dejándonos ciertas partes del proyecto sin poder implementar.V.Vicente Sancho Guijarro Proyecto Final de Carrera 7. Los problemas teóricos han sido sobre todo a la hora de aplicar los conocimientos que hemos ido adquiriendo en el transcurso de nuestra carrera como informáticos a un proyecto más cercano a la vida real de lo que habitualmente se puede ver en las distintas asignaturas de la carrera.T. Conclusiones La realización de este proyecto de final de carrera nos ha permitido conocer de primera mano los pasos necesarios que deben seguirse para el desarrollo de una aplicación Web. diseño e implementación de la misma. En cuanto a las dificultades interpersonales eran debidas a que al inicio del proyecto ningún miembro del equipo conocía a los restantes miembros.

org • • • • • • E. PC Cuadernos Los secretos de PHP y MySQL.wikipedia.P.S.php.V.T. Bibliografía • PHP 5. la enciclopedia libre www. Johann-Christian Hanke PC Cuadernos Proyectos Profesionales PHP 5. CDH Wikipedia. Sitios web dinámicos.org Página oficial de PHP www. Francisco Charte Ojeda ANAYA Multimedia JavaScript Tom Negrino. Johann-Christian Hanke.Vicente Sancho Guijarro Proyecto Final de Carrera 8. Dori Smith Prentice Hall Apuntes de BDA. de Informática Aplicada (U. DBD.es.) 67 .

lo que equivale a una homologación de la propuesta. el creador original de URL (Uniform Resource Locator. es un consorcio internacional que produce estándares para la World Wide Web.2 .Vicente Sancho Guijarro Proyecto Final de Carrera 9.) 68 .P.S. Un estándar pasa por los siguientes estados : • Working Draft (Borrador de trabajo) • Last Call (Última convocatoria) • Proposed Recommendation (Propuesta de recomendación) y • Candidate Recommendation (Recomendación candidata) Finaliza con la aprobación de la "Recomendación".1 . Esta competencia en exclusiva del W3C para crear estándares abiertos es crucial. La mayoría de estas recomendaciones son secundadas por los fabricantes de herramientas (navegadores.V. registros). En el sitio web del consocio se pueden validar páginas web para comprobar si cumplen los estándares. Anexos A. abreviado W3C. es decir. directorios. E. un nuevo estándar público y abierto para la Web. editores.Logotipo de la W3C El World Wide Web Consortium. Algunas importantes recomendaciones son: • HTML • Hojas de Estilo en Cascada o Cascading Style Sheets (CSS) • DOM • RDF Marco de Descripción de Recursos • SOAP Simple Object Access Protocol • SVG • XForms • XML • WSDL Web Services Description Language Figura A.0 y CSS respectivamente. Localizador Uniforme de Recursos). de Informática Aplicada (U.W3C Figura A. pues de ella depende que ningún fabricante alcance nunca el monopolio de explotación de la Web. Está dirigida por Tim Berners-Lee. HTTP (HyperText Transfer Protocol.T. Protocolo de Transferencia de HiperTexto) y HTML (Lenguaje de Marcado de HiperTexto) que son las principales tecnologías sobre las que se basa la Web.Logotipos que la W3C le concede a las páginas web que cumplen con los estándares XHTML 1. buscadores) y tecnologías (servicios Web.

S. Benelux (oficina conjunta). A septiembre de 2006 contaba con 417 miembros (lista completa) • Equipo W3C (W3C Team) 65 investigadores y expertos a través del mundo (Directorio) • Oficinas W3C (W3C Offices). Grecia.Oficina española del consorcio E. India.w3c. establecida en el 2003.es . Australia. China.w3c.) 69 . actual sede central del consorcio. España. Suecia y Reino Unido e Irlanda (oficina conjunta) (Oficinas W3C) La oficina española del W3C.org . Centros regionales establecidos en Alemania y Austria (oficina cojunta).P. Hong Kong.World Wide Web Consortium • www.V. reemplazado por el ERCIM en el 2003 como el huésped europeo del consorocio y Universidad de Keio (Shonan Fujisawa Campus) en Japón en septiembre de 1996 como huésped asiatico. Hungría. Más información: • www. Uniéndose posteriormente en abril de 1995 INRIA en Francia. esta albergada por la Fundación CTIC en el Parque Científico Tecnológico de Gijón (Principado de Asturias). Israel. Finlandia.T. Italia.Vicente Sancho Guijarro Proyecto Final de Carrera La W3C fue creada el 1 de octubre de 1994 por Tim Berners-Lee en el MIT. de Informática Aplicada (U. Marruecos. Corea del Sur. Estos organismos adminstran el consorcio el cual está integrado por: • Miembros del W3C.

aunque su funcionalidad básica es muy completa.Vicente Sancho Guijarro Proyecto Final de Carrera B. Anexo II (Herramientas usadas) • StarUML Figura 44 B.Logotipo de StarUML StarUML es un proyecto de software libre disponible para Windows.com E.1 .V. más concretamente para la realización del diagrama de clases. StarUML es capaz de generar código fuente a partir de diagramas en los siguientes lenguajes: C/C++. La hemos elegido debido a que es una aplicación libre y cumplía a la perfección con nuestras necesidades. etc. Delphi.NET. al mismo tiempo que es sencilla de utilizar y pese a ser usuarios nuevos en la aplicación no nos ha costado adaptarnos a la manera de trabajar con ella para la realización del diagrama de clases. Su sitio web oficial es: www. C#.) 70 . JScript. Java. Se trata de una herramienta CASE (Computer-Aided Software Engineering) de modelado similar a otros como Rational Rose.T. Esta aplicación ha sido utilizada en el desarrollo del proyecto en la fase de análisis.S. VB.staruml. de Informática Aplicada (U. Visual Basic.P. Dispone de una serie de módulos para tener funcionalidad añadida. VBScript.

por su soporte de los estándares del World Wide Web Consortium. aunque también se puede ejecutar en plataformas basadas en UNIX utilizando emuladores como Wine. lo que ves es lo que obtienes) de páginas web. Es el programa de este tipo más utilizado en el sector del diseño y la programación web. sus rutinas (como la de insertar un hipervínculo. Tiene soporte tanto para edición de imágenes como para animación a través de su integración con otras herramientas.P.Logotipo de Dreamweaver 8 Adobe Dreamweaver es un editor WYSIWYG (What You See Is What You Get. JavaScript y algunos frameworks del lado servidor. sin embargo. Hasta la versión MX. creado por Adobe (anteriormente por Macromedia).V. y no validaba como HTML estándar. por sus funcionalidades. puesto que este programa. Dreamweaver ha tenido un gran éxito desde finales de los 90 y actualmente mantiene el 90% del mercado de editores HTML. E.S. versiones más recientes soportan otras tecnologías Web como CSS.) 71 . una imagen o añadir un comportamiento) están hechas en Javascript-C lo que le ofrece una gran flexibilidad en estas materias.2 . de Informática Aplicada (U.T. Esto se ha ido corrigiendo en las versiones recientes. que programadores y editores Web hagan extensiones para su programa y lo ponga a su gusto. Esta aplicación está disponible tanto para la plataforma MAC como Windows. Las versiones originales de la aplicación se utilizaban como simples editores WYSIWYG. recientemente. La gran baza de este editor sobre otros es su gran poder de ampliación y personalización del mismo. que todo ello hace.Vicente Sancho Guijarro Proyecto Final de Carrera • Dreamweaver Figura 45 B. su integración con otras herramientas como Adobe Flash y. fue duramente criticado por su escaso soporte de los estándares de la web. ya que el código que generaba era con frecuencia sólo válido para Internet Explorer. Esto hace que los archivos del programa no sean instrucciones de C++ sino. rutinas de Javascript que hace que sea un programa muy fluido.

En lo fundamental de las herramientas HTML WYSIWYG. Dreamweaver permite al usuario utilizar la mayoría de los navegadores Web instalados en su ordenador para previsualizar las páginas Web. son pequeños programas. permite el uso de "Extensiones". que cualquier desarrollador Web puede escribir (normalmente en HTML y Javascript) y que cualquiera puede descargar e instalar. Un cliente FTP integrado. Es decir. también permite la conexión a Bases de Datos como MySQL y Microsoft Access. Esta herramienta ha sido usada para el desarrollo de las páginas web en PHP debido a que es la más extendida y cumple como editor PHP ofreciéndote ayuda en línea mientras escribes líneas de código.NET. Esto puede ser especialmente cierto ya que la aplicación facilita en exceso el diseño de las páginas mediante tablas. por ejemplo. lo cual va en detrimento de la ejecución de las páginas en el navegador Web. que van desde simple efectos rollover hasta completas cartas de compra. ASP (Active Server Pages). JSP o ASP.Vicente Sancho Guijarro Proyecto Final de Carrera Como editor WYSIWYG que es. Dreamweaver goza del apoyo de una gran comunidad de desarrolladores de extensiones que hacen posible la disponibilidad de extensiones gratuitas y de pago para la mayoría de las tareas de desarrollo Web. la habilidad de encontrar y reemplazar líneas de texto y código por cualquier tipo de parámetro especificado. Un aspecto de alta consideración de Dreamweaver es su arquitectura extensible. que permite subir los archivos editados inmediatamente al sitio en Internet. Función de autocompletar y resaltado de la sintaxis para instrucciones en HTML y lenguajes de programación como PHP. Además de sus capacidades WYSIWYG. JSP (JavaServer Pages). hasta el sitio Web completo.V.T. para filtrar y mostrar el contenido utilizando tecnología de script como.P. haciendo posible que alguien no entendido pueda crear páginas y sitios Web fácilmente. También ofrece la funcionalidad de subir las páginas al servidor de una manera sencilla por FTP. El panel de comportamientos también permite crear JavaScript básico sin conocimientos de código. Las extensiones. Dreamweaver oculta el código HTML de cara al usuario. Con la llegada de la versión MX. para agrupar los archivos según el proyecto al que pertenezcan. de Informática Aplicada (U. No obstante. Características. ASP. por ejemplo. Adobe ha aumentado el soporte CSS y otras maneras de diseñar páginas sin tablas en versiones posteriores de la aplicación.PHP sin necesidad de tener experiencia previa en programación.S. También dispone de herramientas de administración de sitios dirigidas a principiantes como. ofreciendo así funcionalidades añadidas a la aplicación. Algunos desarrolladores Web critican esta propuesta ya que crean páginas HTML más largas de lo que solían ser al incluir mucho código inútil. algunos desarrolladores Web han criticado Dreamweaver en el pasado porque creaba código que no cumplía con los estándares del consorcio Web (W3C). tal y como se conocen.) 72 . E. por lo que cubría nuestras necesidades. ColdFusion. tiene las funciones típicas de un editor de código fuente para la Web: Un administrador de sitios. Además. Macromedia incorporó herramientas de creación de contenido dinámico en Dreamweaver.

2 Eclipse es un entorno de desarrollo integrado (IDE en inglés) en código abierto.3 Pantalla inicial Eclipse 3. existen otros proyectos que permite ampliar las capacidades del entorno. Entre los principales lenguajes de programación que soporta actualmente eclipse se encuentran: Java ANSI C C++ JSP PHP Además de la variedad de lenguajes de programación soportados.Vicente Sancho Guijarro Proyecto Final de Carrera • Eclipse Figura 46 B. Aparte de los lenguajes de programación mencionados anteriormente. multiplataforma.P. Entre ellas cabría destacar UML2 una implementación de UML 2.V. eclipse ha sido traducido a un gran número de idiomas lo que permite una mayor configuración y adaptabilidad al usuario.T.S. Este último proyecto y el PHP Project Tools son los que han sido utilizados en este trabajo como interfaz de programación en php. E. En un principio eclipse fue desarrollado para la programación en Java. sin embargo con el tiempo se fueron incorporando nuevos lenguajes de programación gracias a pluging que fue aportando la comunidad eclipse. de Informática Aplicada (U.0 metamodel para la plataforma Eclipse diseñada para soportar el desarrollo de herramientas de modelado y el Proyecto Plataforma de Herramientas Web (WTP).) 73 .

org/ E.P.) 74 .V.Pantalla principal El motivo de la elección de este entorno para el desarrollo de los ficheros php fueron diversos destacando los siguientes: Utilizar una herramienta en código abierto Resaltado de sintaxis de php Auto completado de variables php Figura 48 B. de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 47 B.4 Eclipse .eclipse.5 Eclipse Auto completado de variable La página inicial de esta aplicación es: http://www.S.T.

el cual permite escoger entre una elevada variedad de diagramas.P.7 Dia – Eligiendo tipo de diagrama E.V. Este programa es de código abierto y múltiplataforma.S.Vicente Sancho Guijarro Proyecto Final de Carrera • Dia Figura 49 B.6 Dia – Pantalla de Inicio Dia es un programa para dibujar diagramas.T. de Informática Aplicada (U. Originalmente este proyecto fue desarrollado para utilizarse dentro del proyecto Gnome de Linux. Figura 50 B.) 75 .

V. La dirección inicial esta aplicación es: http://dia-installer. Desde un punto estético. sin embargo es capaz de llevar a cabo las tareas que se esperan de él. Figura 51 B.Vicente Sancho Guijarro Proyecto Final de Carrera Como se ha dicho anteriormente. el programa deja que desear.7 Dia – Espacio de trabajo. de Informática Aplicada (U.) 76 .T.S.de/index_en. incluidos los diagramas entidad-relación que hemos desarrollado durante este proyecto.P.html E. esta aplicación permite crear diagramas.

iniciarlo.S.). en E.) 77 . además de otros como el servidor FTP pero que a nosotros no nos interesan en este proyecto. de Informática Aplicada (U.apachefriends. que implementa el protocolo HTTP/1. En nuestro proyecto lo hemos usado para poder probar las páginas que hemos generado en local. El paquete también nos ofrece un sencillo panel de control desde donde podemos controlar los distintos servidores que lo componen. Macintosh y otras.1 . Se trata de un servidor libre bajo licencia GNU y se puede descargar gratuitamente desde www. como es Apache. pero más tarde fue reescrito por completo. etc. Su nombre se debe a que originalmente Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. Otra de las ventajas es que es multiplataforma y existen múltiples módulos que se le pueden añadir como son phpMyAdmin u OpenSSL. Figura 53 C. es decir. Windows.1 y la noción de sitio virtual. GNU/Linux. en nuestro ordenador doméstico antes de subirlo al servidor suministrado por el director del proyecto.2 . Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1. La instalación es sencilla y es bastante limpia ya que existe la posibilidad de únicamente copiando los ficheros al ordenador ponerlo en marcha.T.html. pararlo o administrarlo.Logotipo de XAMPP Xampp es un paquete que integra un servidor web. Era.3.V. centrándonos únicamente en los tres primeros servidores. De esta forma podemos comprobar el estado de cada servidor.org/en/xampp.Panel de Control de XAMPP El servidor HTTP Apache es un software (libre) servidor HTTP de código abierto para plataformas Unix (BSD.P.XAMPP Figura 52 C. acompañado de un servidor PHP y otro MySQL.Vicente Sancho Guijarro Proyecto Final de Carrera C.

V. ejecutar cualquier sentencia SQL. Apache es el servidor HTTP más usado. utilizando Internet. Figura 55 C. administrar privilegios.Vicente Sancho Guijarro Proyecto Final de Carrera inglés.Logotipo del servidor web Apache PhpMyAdmin es una herramienta escrita en PHP con la intención de manejar la administración de MySQL a través de páginas webs. Se encuentra disponible bajo la licencia GPL. Apache tiene amplia aceptación en la red: en el 2005. crear. pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. la tecnología utilizada ha ido variando durante su desarrollo.P.Logotipo de phpMyAdmin E. La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas puede en la mayoría de los casos ser abusada solamente por los usuarios locales y no puede ser accionada remotamente. editar y añadir campos. a patchy server (un servidor "parcheado"). Apache presenta entre otras características mensajes de error altamente configurables.T. Esta herramienta nos ha sido de gran ayuda tanto para crear como para introducir datos de prueba o para comprobar que las operaciones de borrado e inserción desde PHP se hacían correctamente. eliminar y alterar tablas. administrar claves en campos. Figura 54 C.S. Actualmente puede crear y eliminar Bases de Datos. Este proyecto se encuentra vigente desde el año 1998.3 . exportar datos en varios formatos y está disponible en 50 idiomas. de Informática Aplicada (U.4 . bases de datos de autenticación y negociado de contenido. También ha sido la herramienta ofrecida por el director del proyecto para manejar la base de datos en el servidor donde debíamos colgar la aplicación final. Como esta herramienta se ejecuta en máquinas con Servidores Webs y Soporte de PHP y MySQL. borrar. siendo el servidor HTTP del 70% de los sitios web en el mundo y creciendo aún su cuota de mercado (estadísticas históricas y de uso diario proporcionadas por Netcraft).) 78 . El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation.

4. 3. la hora de inicio. Para dicha instalación. El Usuario Registrado debe haber iniciado sesión correctamente. de Informática Aplicada (U.1 El sistema guardará la reserva. asíncronas Caso de Uso Actores Actores secundarios Propósito Resumen Anular Reservas Usuario Registrado (iniciador) Ninguno Anular reservas efectuadas por el profesor o por el alumno Permite la cancelación de las reservas realizadas tanto sobre instalaciones como de equipamientos de la escuela (esta última posibilidad disponible únicamente para profesores). el gimnasio.V. Ext. En la reserva se hará constar la fecha. el número de horas que se quieren reservar. El usuario deberá seleccionar una instalación. El sistema comprueba si la instalación está disponible para dicha fecha 6. Únicamente E.P. El usuario confirma la reserva. así como el motivo de la reserva. Incluye Extiende Hereda de 1. etc.) 79 .T. el aula de usos múltiples. el usuario deberá seleccionar una fecha de las disponibles (días en que dicha instalación no esta reservada).Plantillas de los casos de uso Caso de Uso Actores Actores secundarios Propósito Resumen Reservar Instalaciones Usuario Registrado (iniciador) Ninguno Permitir la reserva o anulación de instalaciones del centro. El sistema muestra una lista con las instalaciones que se pueden reservar. como pueden ser la pista de fútbol. Precondiciones Postcondiciones El sistema deberá guardar la reserva. síncronas Ext. Si está disponible 7. También deberá proporcionar el motivo de la reserva. El caso de uso comienza cuando el usuario registrado selecciona “Reservar Instalaciones” 2. Se podrán reservar las instalaciones del centro. 7.S. 5.Vicente Sancho Guijarro Proyecto Final de Carrera D.

El sistema eliminará la reserva seleccionada. El sistema mostrará las reservas efectuadas por el usuario registrado 3. El usuario registrado debe haber iniciado sesión correctamente.V. sincronas E. El usuario registrado seleccionará una reserva 5.1 El sistema mostrará las reservas de material realizadas por el profesor 4. Se mostrarán los anuncios aparecidos en el tablón de anuncios del colegio. Ninguna 1. Ext.) 80 . El sistema eliminará las reservas anuladas por los usuarios registrados. síncronas Ext. El caso de uso comienza cuando el usuario registrado selecciona “Anular Reserva” 2. asíncronas Caso de Uso Actores Actores secundarios Propósito Resumen Precondiciones Postcondiciones Incluye Extiende Hereda de Flujo de eventos Mostrar Tablón de Anuncios Usuario Registrado (iniciador) Ninguno Permite la visualización del tablón de anuncios. de Informática Aplicada (U. El usuario registrado confirmará la cancelación de la reserva 6. El sistema devuelve los anuncios publicados en el tablón de anuncios.S. # En 4 el usuario registrado puede cancelar la anulación de reservas El profesor o por el alumno deben haber iniciado sesión correctamente.Vicente Sancho Guijarro Proyecto Final de Carrera podrán eliminar aquellas reservas que hayan efectuado ellos mismos Precondiciones Postcondiciones Incluye Extiende Hereda de Flujo de eventos 1.T. El caso de uso comienza cuando el usuario registrado selecciona “Mostrar Tablón de Anuncios” 2. Si es un profesor 3.P. Mostrar Reservas Ext.

# En 2 el código de alumno es asignado automáticamente. E.P. # En 3 el administrador puede cancelar la acción. nombre de los padres.V. Ext. apellidos.S. teléfono de contacto. Para ello se deberá de dar ciertos datos del alumno a ingresar (nombre. El sistema comprobará que todos los datos tengan una estructura correcta 5. El sistema guardará los datos del nuevo usuario profesor. porque se han dado de baja en el centro en el caso de los alumnos.) 81 . asíncronas Caso de Uso Actores Actores secundarios Propósito Resumen Dar de Baja Alumno Administrador (iniciador) Ninguno Eliminar a un alumno del sistema El administrador podrá eliminar usuarios para que ya no puedan acceder a su correspondiente información personalizada. nombre de los padres. teléfono de contacto. aunque no necesariamente todas en este instante. código postal. El sistema almacenará la información del nuevo profesor. curso. de Informática Aplicada (U. código postal. El administrador confirmará la creación de un nuevo usuario profesor 4. contraseña)). Precondiciones Postcondiciones Incluye Extiende Hereda de Flujo de eventos 1. domicilio. código del grupo al que asistirá. código del grupo al que asistirá. síncronas Ext. apellidos. curso. población. El administrador será el encargado de dar de alta a nuevo alumnos en el centro.T. El administrador rellenará los campos del formulario de alta de alumnos (nombre. domicilio. población. contraseña) El administrador debe haber iniciado sesión correctamente. asíncronas Proyecto Final de Carrera Caso de Uso Actores Actores secundarios Propósito Resumen Dar de alta Alumno Administrador (iniciador) Ninguno Dar de alta a un nuevo alumno en el colegio. 3.Vicente Sancho Guijarro Ext. El caso de uso comienza cuando el administrador selecciona “Dar de Alta Alumnos” 2.

P.V. 1. Ext. El administrador confirma que desea eliminar a ese alumno 5. Ninguna Precondiciones Postcondiciones Incluye Extiende Hereda de E. El sistema deberá eliminar al alumno. El administrador selecciona el alumno a eliminar 3. El sistema borra los datos del alumno. # En 2 el administrador puede obtener una lista con todos los alumnos y buscar al que quiere dar de baja o bien puede introducir parte o el nombre completo del alumno y que el sistema le devuelva un listado con los alumnos que coincidan con el término de búsqueda.) 82 . El caso de uso comienza cuando el administrador selecciona “Eliminar alumno/padre” 2.Vicente Sancho Guijarro Precondiciones Postcondiciones Incluye Extiende Hereda de Flujo de eventos Proyecto Final de Carrera El administrador debe haber iniciado sesión correctamente. El sistema devuelve los datos del alumno a eliminar 4. Ext. síncronas # En 5 el administrador puede cancelar la acción. También aparecerá la nota media del grupo para poder tener una idea de la marcha del grupo en general. de Informática Aplicada (U. El alumno/Progenitor debe haber iniciado sesión correctamente. asíncronas Caso de Uso Actores Actores secundarios Propósito Resumen Mostrar Notas Alumno/Progenitor (iniciador) Ninguno Mostrar las notas del alumno Se podrán consultar las notas obtenidas por el alumno en las asignaturas en las que esté matriculado.T.S.

# En 2. También devolverá la nota media de todos los alumnos de cada asignatura. Ext.) 83 . Ext. sin mostrar las notas del resto de alumnos de su grupo. El alumno/Progenitor debe haber iniciado sesión correctamente. El sistema devolverá las notas de las asignaturas que tenga el alumno. asíncronas Caso de Uso Actores Actores secundarios Propósito Resumen Listar Alumnos Alumno/Progenitor (iniciador) Ninguno Mostrar la lista de alumnos del mismo grupo al que acude el alumno Se mostrará una lista con los alumnos del mismo grupo al que pertenece.V. síncronas Ext. Ninguna Precondiciones Postcondiciones Incluye Extiende Hereda de Flujo de eventos A.Vicente Sancho Guijarro Flujo de eventos Proyecto Final de Carrera 1. su dirección de correo electrónico. El caso de uso comienza cuando el alumno selecciona “Mostrar Notas” 2. síncronas Ext. El caso de uso comienza cuando el alumno selecciona “Listar Alumnos” B.T. apellidos y dirección de correo electrónico de todos los alumnos del mismo grupo del alumno que inicia el caso de uso. El sistema devuelve el nombre. asíncronas Caso de Uso Actores Actores secundarios Propósito Poner Notas Profesor (iniciador) Ninguno Calificar a los alumnos del profesor E.S. Los datos mostrados serán nombre y apellidos del alumno. solamente se mostrarán las notas del alumno que haya iniciado el caso de uso. de Informática Aplicada (U.P.

Vicente Sancho Guijarro Resumen

Proyecto Final de Carrera

Precondiciones Postcondiciones Incluye Extiende Hereda de Flujo de eventos

Desde aquí se podrá introducir las notas de cada alumno que podrán ser visualizadas posteriormente por los alumnos desde su intranet. Los alumnos aparecerán ordenados por grupos. En esta sección también se podrán modificar notas que hayan sido previamente introducidas. El profesor debe haber iniciado sesión correctamente. Las notas se almacenan en el sistema.

Listar Alumnos del Profesor 1. El caso de uso comienza cuando el profesor selecciona “Poner Notas” 2. Para cada alumno de un grupo 2.1. Escribe la nota del alumno en un formulario 2.2. Acepta la calificación del alumno 3. El sistema almacena cada nota de los alumnos antes de pasar al siguiente alumno # En 2.1 puede cancelar la calificación de un alumno. # En 2 puede cambiar la nota de un alumno al que ya hubiera calificado.

Ext. síncronas

Ext. asíncronas Caso de Uso Actores Actores secundarios Propósito Resumen Poner Faltas de Asistencia Profesor (iniciador) Ninguno Poner las faltas de asistencia de los alumnos del profesor. Desde aquí se podrá introducir las faltas de asistencia de cada alumno. Las faltas de asistencia podrán justificarse a la vez que se introducen si el profesor tenía constancia de que el alumno iba a faltar. En caso contrario dejará el apartado de justificar sin cumplimentar a la espera de que el alumno presente la justificación. El profesor debe haber iniciado sesión correctamente. Las faltas de asistencia se guardan en el sistema.

Precondiciones Postcondiciones Incluye Extiende Hereda de

Listar Alumnos del Profesor

E.T.S. de Informática Aplicada (U.P.V.)

84

Vicente Sancho Guijarro Flujo de eventos

Proyecto Final de Carrera

1. El caso de uso comienza cuando el profesor selecciona “Poner Faltas de Asistencia” 2. Para cada alumno que haya faltado 2.1. El profesor escribe la fecha de la falta, la asignatura y si está justificada en el formulario 2.2. Confirma la falta de asistencia. 3. El sistema guarda la falta de asistencia # En 2.1 el profesor puede cancelar la inclusión de la falta de asistencia # En 2.1 la fecha que aparecerá por defecto será la actual del sistema, aunque el profesor podrá cambiarla.

Ext. síncronas

Ext. asíncronas Caso de Uso Actores Actores secundarios Propósito Resumen Quitar/Modificar Faltas de Asistencia Profesor (iniciador) Ninguno Quitar o modificar las faltas de asistencia de los alumnos del profesor. Se podrán quitar las faltas de asistencia de alumnos, por ejemplo si se han introducido erróneamente. También se podrán modificar las faltas de asistencia, normalmente si el alumno presenta un justificante, o para cambiar otro valores (fecha, asignatura) El profesor debe haber iniciado sesión correctamente. Las faltas de asistencia modificadas se guardan en el sistema. En caso de quitar la falta de asistencia, ésta se eliminará del sistema. Listar Alumnos del Profesor

Precondiciones Postcondiciones Incluye Extiende Hereda de

E.T.S. de Informática Aplicada (U.P.V.)

85

Vicente Sancho Guijarro Flujo de eventos

Proyecto Final de Carrera

Intenciones de usuario Obligaciones del sistema 1. El caso de uso comienza cuando el profesor selecciona “Quitar/Modificar Faltas de Asistencia” 2. El sistema devuelve una lista con todos los alumnos de ese profesor, ordenados por grupos y que tengan alguna falta de asistencia en el último mes (si fuera necesario se podrían pedir de meses anteriores) 3. El profesor selecciona el alumno al que modificar o quitar la falta 3.1. Se mostrarán los detalles de la falta de asistencia que tiene guardado el sistema (fecha, asignatura, si está justificada) 3.2. Si el profesor quiere quitar esta falta de asistencia 3.2.1. Confirma que desea quitar la falta de asistencia 3.3. Si no 3.3.1. El profesor podrá cambiar los detalles de la falta de asistencia (fecha, asignatura, si está justificada) 3.3.2. Confirma la falta de asistencia. 4. El sistema se actualiza (borrando la falta si que profesor la eliminó, o actualizando los campos en caso contrario En 3, 3.1, 3.2, 3.3.1 el profesor puede actualización/eliminación de la falta de asistencia cancelar la

Ext. síncronas Ext. asíncronas

E.T.S. de Informática Aplicada (U.P.V.)

86

Vicente Sancho Guijarro

Proyecto Final de Carrera

E. Guía del usuario
Usuario anónimo
Este tipo de usuario (podría tratarse de alumnos o profesores todavía no identificados) solamente podrán acceder a la parte pública del colegio.

a. Inicio
Será esta la página a la que se accederá cuando el usuario anónimo acceda a la Web, si no introduce alguna otra dirección.

Figura 56 Usuario anónimo – inicio

Durante su recorrido por las secciones públicas de la Web el usuario siempre dispondrá de un menú navegación que le ayudará en su recorrido por la Web. En la parte inferior de la ventana aparecen una serie de noticias que el colegio considera de interés para todos sus miembros.

E.T.S. de Informática Aplicada (U.P.V.)

87

Vicente Sancho Guijarro

Proyecto Final de Carrera

Figura 57 Usuario anónimo - menú navegacional

b. Historia
En página el usuario podrá conocer aquellos hechos históricos que han sucedido en la vida de la escuela.

Figura 58 Usuario anónimo – Historia

c. Equipo directivo
Aquí el usuario podrá conocer los datos de las personas que pertenecen al equipo directivo del centro (al director, jefe de estudios y al secretario)

E.T.S. de Informática Aplicada (U.P.V.)

88

Reglamento Desde aquí se podrá tener acceso a la normativa que rige en el colegio. Figura 60 Usuario anónimo .P.Equipo directivo d.reglamento E.T. de Informática Aplicada (U.S.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 59 Usuario anónimo .) 89 .V. Se dispone de la normativa en dos formatos: tipo Word y tipo pdf.

Vicente Sancho Guijarro

Proyecto Final de Carrera

e. Calendario escolar
Esta página muestra calendario con la fecha actual. Los días especiales como pueden ser eventos importantes para el colegio o festivos, se remarcan de forma distinta al resto para que destaque. Si el usuario hace clic en cualquiera de ellos, en la parte inferior de la ventana indicando el tipo de evento asociado a ese día, si tiene asociado algún evento.

Figura 61 Usuario anónimo – Calendario

f. Localización
Esta página proporciona información acerca de la localización del colegio. Además dispone de un enlace al ayuntamiento de Náquera que proporciona un callejero de su localidad a fin de poder encontrar el colegio.

E.T.S. de Informática Aplicada (U.P.V.)

90

Vicente Sancho Guijarro

Proyecto Final de Carrera

Figura 62 Usuario anónimo – localización

La ventana desplegada muestra dos imágenes. La de la izquierda representa todo el pueblo a una escala menor. En esta imagen se dispone de un recuadro que puede moverse por dicha imagen, esto provoca que la imagen de la derecha muestre el plano contenido en el recuadro a una mayor escala que permite poder ver mejor el nombre de las calles y sitios de consideración.

Contactar
Esta página dispone de un pequeño formulario que permite a los usuarios enviar información, quejas, sugerencias al colegio. Sólo hace falta introducir el correo electrónico y el texto con los datos que el usuario considere de interés. Una vez efectuado esto, pulsar el botón de enviar.

E.T.S. de Informática Aplicada (U.P.V.)

91

Vicente Sancho Guijarro

Proyecto Final de Carrera

Figura 63 Usuario anónimo – contacto

g. Enlaces
Esta página muestra aquellos enlaces que el colegio considera del interes de toda su comunidad (padres, profesores, alumnos)

Figura 64 Usuario anónimo – enlaces

E.T.S. de Informática Aplicada (U.P.V.)

92

Vicente Sancho Guijarro

Proyecto Final de Carrera

Intranet del profesor
En primer lugar, para poder acceder a la intranet del profesor es necesario identificarse. Esto puede hacer introduciendo el nombre de usuario y contraseña en la página de inicio. En las cajas de texto que aparece en la esquina izquierda inferior, como puede verse en la imagen.

Figura 65 Pantalla Inicial

Una vez que el sistema confirme nuestra identidad, automáticamente nos llevará a la intranet del profesor

E.T.S. de Informática Aplicada (U.P.V.)

93

Vicente Sancho Guijarro
Figura 66 Intranet del profesor

Proyecto Final de Carrera

Donde podremos ver el nombre completo del profesor conectado. A la izquierda puede verse un menú de navegación, que nos permitirá movernos por toda la aplicación y que siempre estará disponible.

Figura 67 Menú navegacional

La primera opción “Inicio” nos llevará devuelta a la página inicial de la intranet del profesor, en la que nos encontramos ahora.

a. Alumnos
La siguiente opción, “Alumnos”, nos llevará a una página, donde podremos consultar los alumnos a los que imparte clase el profesor, organizados por asignatura que da el profesor.

Figura 68 Intranet Profesor - Alumnos

E.T.S. de Informática Aplicada (U.P.V.)

94

datos cargados E. Figura 69 Escogiendo asignatura Una vez escogida una asignatura automáticamente se cargarán los datos de los alumnos y la asignatura y si como de donde se imparte. de Informática Aplicada (U.S.) 95 .T. como puede verse en la siguiente imagen.P. Figura 70 Intranet Profesor .V. De los alumnos se muestran los apellidos el nombre y el nombre de usuario.Vicente Sancho Guijarro Proyecto Final de Carrera Hay que escoger una asignatura de las disponibles.

) 96 . Los alumnos se encuentran organizados por asignaturas. Cuando se seleccione el cuatrimestre. Para poder comenzar a asignar notas es necesario haber escogido previamente la asignatura.T.V. Figura 71 Intranet Profesor – profesores c. Profesores El siguiente elemento del menú navegacional es “Profesores”. de Informática Aplicada (U. se mostrarán las notas que ya hubieran sido asignadas.P. Desde aquí se podrán introducir las notas de los alumnos que asisten a alguna asignatura que imparte el profesor conectado. Aquí podemos ver los datos públicos de todos los profesores del centro.S. Figura 72 Intranet Profesor – Notas E.Vicente Sancho Guijarro Proyecto Final de Carrera b. tal como sucedía en la página de los alumnos. Además hará falta seleccionar el cuatrimestre que se quiere puntuar. Si no está seleccionado el cuatrimestre las notas que se introduzcan no se guardarán en sistema. Notas El siguiente elemento del menú es “Notas”.

Como sucedía en páginas anteriores.Vicente Sancho Guijarro Proyecto Final de Carrera Se podrá optar por dos modos para guardar las notas.P.S. de Informática Aplicada (U.mensaje error d. Para ello habrá que pulsar el “Selecciona Dia”. Únicamente podrá poner faltas de asistencia a aquellos alumnos que tengan clase con el profesor. El segundo método consiste en puntuar a todos los alumnos de una vez y pulsar el botón “Guardar Todos” que guardaría las notas de todos los alumnos a la vez. es necesario escoger la asignatura que se quiera consultar. y esta falta quedaría asociada con la asignatura en la que cometió la falta de asistencia. el profesor podrá rellenar los datos de las faltas de asistencia de los alumnos. que desplegará un calendario donde habrá que hacer clic en el día escogido. si tienen decimales se puede utilizar indistintamente el punto o la coma (automáticamente esto cambiará a un punto para que el sistema pueda trabajar con el valor) La nota debe estar entre 0 y 10.T. E. Lo siguiente es escoger la fecha de la falta. El primero consistiría en ir alumno a alumno introducir la nota y hacer clic en el botón de “Guardar”.V. En caso de introducir un valor no válido el sistema mostrará un mensaje como el siguiente: Figura 73 Intranet Profesor .) 97 .notas . Los valores a introducir deben ser números. Faltas asistencia En esta página.

de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 74 Intranet Profesor . no hace falta tocarlo. por defecto) A continuación vienen dos botones que permiten poner la falta o quitarla (si tenia) al alumno que esté en la misma fila que el botón pulsado. Figura 75 Intranet profesor – falta Después de cada alumno aparecen una serie de elementos que permiten el manejo de las faltas. A continuación viene un checkbox que indica si la falta a sido justificada (si esta marcada) o todavía no (si no está seleccionada.falta – Calendario Una vez se haya escogido el día y la asignatura se cargarán los alumnos.S. porque el sistema coge la fecha seleccionada inicialmente en el calendario. El siguiente elemento es la fecha. Para conseguir poner la falta a los alumnos seleccionados será necesario pulsar el botón “Poner falta a todos”. El primero por la izquierda permite seleccionar varios alumnos a la vez para ponerles la falta.T.V.P. E.) 98 . También aparecerán si para la fecha escogida los alumnos ya le habían puesto una falta de asistencia.

Vicente Sancho Guijarro Proyecto Final de Carrera e. si lo desea.S. E. Esto producirá que el calendario marque en azul oscuro aquellos días en que esa instalación en concreto ha sido previamente reservada.V. Deberemos escoger una instalación que queramos reservar del menú desplegable.T. pulsando en “Reservar instalación”. no pudiendo seleccionarlos. Figura 77 Intranet Profesor .reserva de instalaciones. Instalaciones Esta página permite ver las reservas de las instalaciones que ha efectuado el profesor.P. También le permite anular la reserva. de Informática Aplicada (U. Figura 76 Intranet Profesor – instalaciones Desde aquí podremos acceder a reservar nuevas instalaciones.) 99 .

Deberemos escoger una equipación de las disponibles del menú desplegable. Esto producirá que el calendario marque en azul oscuro aquellos días en que esa instalación en concreto ha sido previamente reservada. si lo desea.P. no pudiendo seleccionarlos. para hacer efectiva la reserva deberemos de indicarle el motivo por el que deseamos realizar la reserva. Una vez efectuada la reserva nos redirigirá directamente a la página de instalaciones donde podremos ver que efectivamente se tiene una nueva reserva.Vicente Sancho Guijarro Proyecto Final de Carrera A continuación. pulsando en “Reservar equipación”. E. Figura 78 Intranet Profesor . Equipaciones Esta página permite ver las reservas de las equitaciones que ha efectuado el profesor.T. Esta funcionalidad es prácticamente idéntica a la de instalaciones. Figura 79 Intranet Profesor – equipaciones Desde aquí podremos acceder a reservar nuevas equipaciones. También le permite anular la reserva.reserva confirmada f.V.S. de Informática Aplicada (U.) 100 . Como mínimo harán falta 5 caracteres.

de Informática Aplicada (U.V.P.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 80 Intranet Profesor .S. Una vez efectuada la reserva nos redirigirá directamente a la página de equipaciones donde podremos ver que efectivamente se tiene una nueva reserva.reserva de equipaciones. Como mínimo harán falta 5 caracteres. para hacer efectiva la reserva deberemos de indicarle el motivo por el que deseamos realizar la reserva. Figura 81 Intranet Profesor .T. A continuación.reserva confirmada E.) 101 .

Figura 83 Intranet Profesor .) 102 .V.S. Para insertar uno nuevo únicamente hay que rellenar dos campos que se encuentran al final de la página.tablón anuncios En la figura anterior puede verse como quedaría un nuevo anuncio.Vicente Sancho Guijarro Proyecto Final de Carrera g.P.T.Insertar anuncio Sólo hay que rellenar el campo de título y el de texto (que contendrá el anuncio en sí). E. de Informática Aplicada (U. Figura 82 Intranet Profesor . Tablón de anuncios Esta página nos permitirá insertar nuevos anuncios. que podrán ser consultados por todos los miembros del colegio cuando accedan a sus respectivas intranets. La información restante que podía verse en el anuncio anterior la obtendrá el sistema de forma automática.

automáticamente nos llevará a la intranet del alumno Figura 85 Intranet del alumno E. Figura 84 Pantalla Inicial Una vez que el sistema confirme nuestra identidad.V. En las cajas de texto que aparece en la esquina izquierda inferior. Esto puede hacer introduciendo el nombre de usuario y contraseña en la página de inicio. de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera Intranet de alumno En primer lugar.S.) 103 . para poder acceder a la intranet del profesor es necesario identificarse.T. como puede verse en la imagen.P.

que nos permitirá movernos por toda la aplicación y que siempre estará disponible.Vicente Sancho Guijarro Proyecto Final de Carrera Donde podremos ver el nombre completo del alumno conectado. Horario Esta página nos mostrará el horario semanal que tiene el alumno conectado Figura 87 Intranet alumno – horario E.P. de Informática Aplicada (U. a. en la que nos encontramos ahora.S.) 104 . A la izquierda puede verse un menú de navegación.V. Figura 86 Menú navegacional La primera opción “Inicio” nos llevará devuelta a la página inicial de la intranet del alumno.T.

Figura 88 Intranet alumno . de Informática Aplicada (U. el horario de tutorías.listado alumno c. el tutor y el listado de alumnos matriculados con él en dicho grupo.S. Figura 89 Intranet alumno . y su correo electrónico.T.Vicente Sancho Guijarro Proyecto Final de Carrera b. Listado alumnos Esta página el alumno podrá consultar los datos del grupo en el que está matriculado: el curso y letra del grupo.P. el profesor. Listado profesores Desde aquí obtendremos la información acerca de los profesores que impartan clase de alguna asignatura al grupo al que asiste el alumno actualmente conectado.) 105 . si tiene. el delegado. E.V.listado profesores Entre la información que aparece se encuentra la asignatura impartidas.

P.T. así como la asignatura a la que falto y la fecha.faltas asistencia E. Faltas de asistencia Desde aquí el alumno podrá consultar las faltas de asistencia que haya podido cometer y si las faltas las tiene justificadas o no. Figura 91 Intranet alumno . de Informática Aplicada (U. e.V.S. Notas Esta página mostrará las notas que tenga el alumno de las distintas asignaturas Figura 90 Intranet alumno – notas Sólo aparecerán aquellas asignaturas que tengan alguna nota puesta.) 106 .Vicente Sancho Guijarro Proyecto Final de Carrera d.

S. si lo desea. Figura 93 Intranet Alumno – instalaciones E. Menú semanal Desde aquí se podrá consultar el menú que servirá el comedor del colegio los próximos días. Instalaciones Esta página permite ver las reservas de las instalaciones que ha efectuado el alumno.T.Vicente Sancho Guijarro Proyecto Final de Carrera f.P.V. de Informática Aplicada (U. si ha realizado alguna. También le permite anular la reserva. Figura 92 Intranet alumno – menú h.) 107 .

para hacer efectiva la reserva deberemos de indicarle el motivo por el que deseamos realizar la reserva.V.T. Como mínimo harán falta 5 caracteres.) 108 .reserva confirmada E. Una vez efectuada la reserva nos redirigirá directamente a la página de instalaciones donde podremos ver que efectivamente se tiene una nueva reserva. pulsando en “Reservar instalación”. Esto producirá que el calendario marque en azul oscuro aquellos días en que esa instalación en concreto ha sido previamente reservada. Deberemos escoger una instalación que queramos reservar del menú desplegable. Figura 95 Intranet alumno . no pudiendo seleccionarlos. Figura 94 Intranet alumno . de Informática Aplicada (U.S.reserva de instalaciones. A continuación.Vicente Sancho Guijarro Proyecto Final de Carrera Desde aquí podremos acceder a reservar nuevas instalaciones.P.

P. Tablón de anuncios Esta página nos permitirá insertar nuevos anuncios.tablón anuncios En la figura anterior puede verse como quedaría un nuevo anuncio.Vicente Sancho Guijarro Proyecto Final de Carrera i. Figura 97 Intranet Profesor . Para insertar uno nuevo únicamente hay que rellenar dos campos que se encuentran al final de la página.T. que podrán ser consultados por todos los miembros del colegio cuando accedan a sus respectivas intranets. La información restante que podía verse en el anuncio anterior la obtendrá el sistema de forma automática.S. de Informática Aplicada (U. E. Figura 96 Intranet Profesor .V.Insertar anuncio Sólo hay que rellenar el campo de título y el de texto (que contendrá el anuncio en sí).) 109 .

P. text-align: center. text-align: left.T. echo "<td style='width: 255px. echo "<font color=red>Error </font>\n". $db =cambiar_a_bd($link). text-align: center. fontweight: bold. if(!$db) { E.'>". mysql_error() . echo " " .PHPeclipse . echo "<td style='text-align: center.S.'>Error</span></big></td>". echo "<tbody> <tr> <td style='text-align: center. echo "<font><b>Cambio a la base de datos de WebCole </b></font><br>\n". echo "</td>\n". echo "</td>". width: 100%.'><big><span style='font-weight: bold. function pasar_a_webcole($link) { echo "<html><head>". width: 281px. $db = cambiar_a_bd_i($link). } } function pasar_a_webcole_i($link) { echo "<html><head>". width: 255px.</td></tr> \n".'>". fontweight: bold. width: 100%.PHP . if(!$db) { echo "<td style='width: 163px. require_once ('interfaz_db. echo "</td>\n".'>". echo "<td style='text-align: center. width: 163px.'>". text-align: left. echo "<tbody> <tr> <td style='text-align: center. width: 281px. require_once "conexion_i.php').' border='1' cellpadding='2' cellspacing='2'>". width: 255px.'><big><span style='font-weight: bold. echo "</tr>".Vicente Sancho Guijarro Proyecto Final de Carrera F.'><big>Descripcion</big></td>".V.php (Base de datos) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 <?php /* * Created on 06/05/2007 * * To change the template for this generated file go to * Window .Preferences .'>&nbsp.'>Estado</span></big></td>".'>Estado</span></big></td>". de Informática Aplicada (U.Code Templates */ require_once "conexion. echo "<title>Cambio de base de datos</title></head>". echo "<td style='width: 255px. text-align: center.'>Error</span></big></td>". echo "<font color=green>Correcto</font>\n". echo "<td style='text-align: center. } else { echo "<td style='width: 163px. "\n".'><big>Descripcion</big></td>". echo "<table style='text-align: left.'>". Código Setup.php".php". echo "</tr>". width: 163px.' border='1' cellpadding='2' cellspacing='2'>". text-align: center. echo "<title>Cambio de base de datos</title></head>". echo "<tr><td style='width: 281px. echo "<td style='text-align: center. echo "<table style='text-align: left. echo "</td>". echo "<font><b>Cambio a la base de datos de WebCole </b></font><br>\n". echo "<tr><td style='width: 281px. echo "</td>".) 110 .'><big><span style='font-weight: bold.'><big><span style='font-weight: bold.

\'B\'. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci 127 NOT NULL. 111 112 $sql_profesor = 'CREATE TABLE `profesor` (' 113 . ' 106 . ' 118 . text-align: center. 136 137 $sql_padre = 'CREATE TABLE `padre` (' 138 .' 120 . ' 97 . ' `cp` SMALLINT UNSIGNED NOT NULL.'>". ' 101 .\'4\'. ' 99 . ' )' 146 . ' 95 .\'E\'. 77 echo "</td>". ' PRIMARY KEY (`login`).' 144 . ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci 139 NOT NULL.' 128 . ' `poblacion` VARCHAR(30) CHARACTER SET utf8 COLLATE 104 utf8_spanish_ci NOT NULL. ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' 134 .\'3\'. CHECK (cp > 40000). ' 103 . 147 148 $sql_admin = 'CREATE TABLE `administrador` (' E. ' 107 . ' 105 . ' )' 110 . ' 140 . ' )' 135 .\'F\') collate 131 latin1_general_ci NOT NULL.'>". ' `telefono` VARCHAR(9) NULL. 75 echo "<td style='width: 255px.' 121 . 84 echo "<td style='width: 255px. 83 echo "</td>". ' `tutorias` VARCHAR(50) CHARACTER SET utf8 COLLATE 119 utf8_spanish_ci NULL.\'5\'. text-align: center. ' PRIMARY KEY (`login`).\'2\'. ' `email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci 117 NULL. 82 echo "<font color=green>Correcto</font>\n". ' `email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci 142 NULL. ' TYPE = innodb. ' 141 . text-align: center. ' `apellido1` VARCHAR(30) CHARACTER SET utf8 COLLATE 98 utf8_spanish_ci NOT NULL.P.S.) 111 . 124 125 $sql_alumno = 'CREATE TABLE `alumno` (' 126 . 78 } 79 else 80 { 81 echo "<td style='width: 163px. ' `nombre` VARCHAR(30) CHARACTER SET utf8 COLLATE utf8_spanish_ci 96 NOT NULL.\'6\') collate 129 latin1_general_ci NOT NULL. text-align: center.' 130 .'>". ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci 114 NOT NULL. ' `dni` VARCHAR(8) NOT NULL. "\n". ' `apellido2` VARCHAR(30) CHARACTER SET utf8 COLLATE 100 utf8_spanish_ci NULL. ' PRIMARY KEY (`login`). 86 } 87 88 } 89 90 function crear_tablas () 91 { 92 $sql_usuario = 'CREATE TABLE `usuario` (' 93 . ' )' 123 .Vicente Sancho Guijarro Proyecto Final de Carrera 72 echo "<td style='width: 163px. ' 116 . 76 echo " " . ' `direccion` VARCHAR(50) CHARACTER SET utf8 COLLATE 102 utf8_spanish_ci NOT NULL. ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' 122 . '`letra` enum(\'A\'.' 132 . de Informática Aplicada (U. ' `contrasenya` VARCHAR(20) NOT NULL.V. ' TYPE = innodb.\'C\'. '`curso` enum(\'1\'. mysql_error() .\'D\'. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci 94 NOT NULL. ' 143 .</td></tr> 85 \n". ' `dni` VARCHAR(8) NOT NULL.T.'.'.'. 73 echo "<font color=red>Error </font>\n". 74 echo "</td>".'.' 108 . ' 115 . ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' 145 . ' TYPE = innodb.' 133 .'>&nbsp. ' TYPE = innodb. ' PRIMARY KEY (`login`)' 109 .

' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. $sql_eq = 'CREATE TABLE `equipodirectivo` (' . ' . ' . ' TYPE = innodb. ' `email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL.' .' .) 112 . de Informática Aplicada (U.' . ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. $sql_secretario = 'CREATE TABLE `secretario` (' . ' PRIMARY KEY (`login`). ' )' . ' `idequipacion` TINYINT UNSIGNED NOT NULL.' . ' `texto` TEXT NULL.'. $sql_equipacion = 'CREATE TABLE `equipacion` (' . ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' . ' . ' . ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' FOREIGN KEY (`login`) REFERENCES `equipodirectivo`(`login`)' .' .'. ' .T. ' . ' )' .'. ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' . ' . ' . ' `email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL. ' `normas` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL . $sql_director = 'CREATE TABLE `director` (' . ' PRIMARY KEY (`login`).'. ' PRIMARY KEY (`login`).' . $sql_anuncio = 'CREATE TABLE `anuncio` (' . ' `estado` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' )' . ' `idinstalacion` TINYINT UNSIGNED NOT NULL.'.S. ' PRIMARY KEY (`login`).' . ' . ' TYPE = innodb. ' .' . ' `fecha` DATETIME NOT NULL. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.Vicente Sancho Guijarro 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 Proyecto Final de Carrera . ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' PRIMARY KEY (`idequipacion`)' E. ' TYPE = innodb. ' TYPE = innodb. ' `dni` VARCHAR(8) NOT NULL. $sql_jefe = 'CREATE TABLE `jefeestudio` (' . ' `idanuncio` MEDIUMINT UNSIGNED NOT NULL. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.' . ' PRIMARY KEY (`idinstalacion`). ' FOREIGN KEY (`login`) REFERENCES `equipodirectivo`(`login`)' .'. ' PRIMARY KEY (`login`). $sql_instalacion = 'CREATE TABLE `instalacion` (' . ' . ' . ' . ' FOREIGN KEY (`login`) REFERENCES `equipodirectivo`(`login`)' . ' `dni` VARCHAR(8) NOT NULL.' . ' TYPE = innodb. ' .' . ' . ' `titulo` VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.' . ' `instalacion` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' )' . ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' .P. ' )' . ' TYPE = innodb. ' )' . ' PRIMARY KEY (`idanuncio`)' . ' `equipacion` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.'.V. ' TYPE = innodb. ' )' . ' `normas` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL .

' TYPE = innodb.' .' . ' FOREIGN KEY (`alumno`) REFERENCES `alumno`(`login`). ' `alumno` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.\'6\') NOT NULL. ' `idequipacion` TINYINT UNSIGNED NOT NULL. `idequipacion`. ' . ' `profesor` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.\'5\'.\'2\'.\'4\'. ' .\'4\') collate utf8_spanish_ci NOT NULL. ' FOREIGN KEY (`padre`) REFERENCES `usuario`(`login`). ' `horario` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL. ' TYPE = innodb.V. ' )' . ' . ' .S. $sql_res_equi = 'CREATE TABLE `res_equi` (' . ' FOREIGN KEY (`idequipacion`) REFERENCES `equipacion`( `idequipacion`)' . ' PRIMARY KEY (`codigoasignatura`)' .' . ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`).' . ' FOREIGN KEY (`asignatura`) REFERENCES `asignatura`( `codigoasignatura`)' .' . ' `asignatura` TINYINT UNSIGNED NOT NULL.' .T.' . `profesor`).' . ' FOREIGN KEY (`login`) REFERENCES `profesor`(`login`).' . ' `idinstalacion` TINYINT UNSIGNED NOT NULL. ' . ' `nota` FLOAT NOT NULL. ' `asignatura` TINYINT UNSIGNED NOT NULL.' . ' FOREIGN KEY (`profesor`) REFERENCES `profesor`(`login`)' . ' )' .\'2\'.'. ' TYPE = innodb. ' .'. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.'. ' `nombre` VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.'.' . ' TYPE = innodb. ' . `asignatura`.'. `alumno`).' .Vicente Sancho Guijarro 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 . ' PRIMARY KEY (`padre`. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. $sql_asignatura = 'CREATE TABLE `asignatura` (' . ' )' .P. ' . ' PRIMARY KEY (`login`. ' `curso` ENUM(\'1\'. ' PRIMARY KEY (`asignatura`. ' . ' `padre` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.'. ' `proposito` TEXT NOT NULL. Proyecto Final de Carrera $sql_res_ins = 'CREATE TABLE `res_ins` (' .`fecha`).`fecha`).\'2\'. ' `proposito` TEXT NOT NULL. ' FOREIGN KEY (`idinstalacion`) REFERENCES `instalacion`( `idinstalacion`)' . ' `trimestre` enum(\'1\'. ' `codigoasignatura` TINYINT UNSIGNED NOT NULL. de Informática Aplicada (U. ' `curso` ENUM(\'1\'. `idinstalacion`. ' `fecha` DATETIME NOT NULL. ' PRIMARY KEY (`login`. ' . ' .' .' .\'6\') NOT NULL.'.\'4\'. ' )' . $sql_nota = 'CREATE TABLE `nota` (' .`trimestre`). ' )' .\'3\'.\'3\'. ' TYPE = innodb. ' . ' TYPE = innodb.\'3\'. $sql_imparte = 'CREATE TABLE `imparte` (' . ' . ' FOREIGN KEY (`alumno`) REFERENCES `usuario`(`login`)' . ' PRIMARY KEY (`alumno`. ' `alumno` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.) 113 . ' . ' TYPE = innodb.' .' .\'5\'.' . ' `fecha` DATETIME NOT NULL. $sql_responsable = 'CREATE TABLE `responsable` (' . ' FOREIGN KEY (`asignatura`) REFERENCES `asignatura`( `codigoasignatura`). E. ' )' . ' )' .

' `curso` ENUM(\'1\'.'. ' TYPE = innodb. ' `fecha` DATETIME NOT NULL.' .\'2\'.' .\'6\') NOT NULL. ' PRIMARY KEY (`alumno`. ' `curso` ENUM(\'1\'. ' . ' TYPE = innodb DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci. ' .\'E\'.\'E\'. ' .\'3\'.`fecha`).P.'.' . ' FOREIGN KEY (`curso`. ' . `evento`). ' `descripcion` TEXT NOT NULL. `letra`). ' `titulo` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.\'D\'. `asignatura`).\'5\'.' border='1' cellpadding='2' cellspacing='2'>".\'C\'.\'4\'. ' `evento` SMALLINT UNSIGNED NOT NULL. ' `tutor` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL.\'F\') NOT NULL. ///// // Ejecucion de las creaciones de tablas //// echo "<html><head>".' .' .Vicente Sancho Guijarro 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 Proyecto Final de Carrera $sql_faltaasistencia = 'CREATE TABLE `faltaasistencia` (' . ' TYPE = innodb.\'4\'. ' )' . ' . E. ' `letra` ENUM(\'A\'. `letra`).' . ' )' .' . ' . ' `alumno` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`). ' .\'B\'. `letra`. width: 281px. echo "<td style='text-align: center. ' FOREIGN KEY (`evento`) REFERENCES `evento`(`idevento`)' . de Informática Aplicada (U. width: 100%.'><big>Descripcion</big></td>". echo "<td style='text-align: center.\'5\'. $sql_evento = 'CREATE TABLE `evento` (' . ' `idevento` SMALLINT UNSIGNED NOT NULL. ' `asignatura` TINYINT UNSIGNED NOT NULL.'>Error</span></big></td>". ' )' . width: 255px.T. ' PRIMARY KEY (`idevento`)' . ' `delegado` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL. ' . ' . `letra`) REFERENCES `grupo`(`curso`. echo "<title>Creacion de las tablas de base de datos WebCole</title>< /head>". ' FOREIGN KEY (`asignatura`) REFERENCES `asignatura`( `codigoasignatura`)' . ' . echo "<table style='text-align: left.\'F\') NOT NULL. ' )' .\'2\'.'. ' . ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' .\'B\'.'. echo "<tbody> <tr> <td style='text-align: center. $sql_impartida = 'CREATE TABLE `impartida` (' .\'D\'. ' FOREIGN KEY (`asignatura`) REFERENCES `asignatura`( `codigoasignatura`)' .' .S.'. ' `justificada` BOOL NOT NULL DEFAULT \'0\'. ' `aula` VARCHAR(5) NOT NULL.'>Estado</span></big></td>". ' `letra` ENUM(\'A\'.' . ' TYPE = innodb. echo "</tr>".V. ' . ' )' . ' `lugar` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' FOREIGN KEY (`alumno`) REFERENCES `alumno`(`login`). ' FOREIGN KEY (`tutor`) REFERENCES `profesor`(`login`)' . ' TYPE = innodb.' .' . ' PRIMARY KEY (`login`. ' `asignatura` TINYINT UNSIGNED NOT NULL.' .'><big><span style='font-weight: bold. $sql_gen_even = 'CREATE TABLE `gen_even` (' . width: 163px.) 114 .\'C\'.' . ' . $sql_grupo = 'CREATE TABLE `grupo` (' . ' PRIMARY KEY (`curso`.`asignatura`.\'6\') NOT NULL. ' `fecha` DATE NOT NULL.'><big><span style='font-weight: bold. fontweight: bold. ' FOREIGN KEY (`delegado`) REFERENCES `alumno`(`login`). ' PRIMARY KEY (`curso`.\'3\'.

'>".'>&nbsp. echo "<font><b>Creacion de la tabla de usuarios </b></font><br>\n".'>". "\n". mysql_error() . echo "<font color=green>Correcto</font>\n". echo "<font color=green>Correcto</font>\n". echo "<tr><td style='width: 281px. echo "</td>". if(!$result) { echo "<td style='width: 163px. text-align: center.'>". echo "<font color=red>Error </font>\n". "\n". echo "<td style='width: 255px. text-align: center.T.) 115 . text-align: center. text-align: left. echo "</td>\n".'>". de Informática Aplicada (U. text-align: center. text-align: center.</td></tr> \n".'>".'>". if(!$result) { echo "<td style='width: 163px. echo "</td>". "\n".V. echo "<font color=green>Correcto</font>\n". mysql_error() .'>". text-align: center. text-align: center.'>". echo "" . echo "<td style='width: 255px.</td></tr> \n". echo "<td style='width: 255px. text-align: center.'>&nbsp. echo "<font color=red>Error </font>\n".'>".'>". } $result = mysql_query($sql_padre). echo "<font color=red>Error </font>\n". text-align: left. echo "</td>\n".Vicente Sancho Guijarro 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 Proyecto Final de Carrera $result = mysql_query($sql_usuario). echo "</td>".'>&nbsp. } $result = mysql_query($sql_alumno). echo "<td style='width: 255px. echo "</td>". } $result = mysql_query($sql_profesor). echo "</td>\n". echo "</td>".'>". text-align: center. text-align: center. echo "" . echo "</td>\n".</td></tr> \n". text-align: left. echo "<font color=red>Error </font>\n". if(!$result) { echo "<td style='width: 163px.'>".P.S.'>". } else { echo "<td style='width: 163px. text-align: center. } else { echo "<td style='width: 163px. echo "<td style='width: 255px. } else { echo "<td style='width: 163px. echo "<td style='width: 255px. mysql_error() . echo "" . echo "</td>". text-align: left. echo "</td>". echo "<font><b>Creacion de la tabla de padre </b></font><br>\n". text-align: center.'>". if(!$result) { echo "<td style='width: 163px. echo "<font><b>Creacion de la tabla de alumnos </b></font><br>\n". echo "</td>". echo "</td>". "\n". echo "<font><b>Creacion de la tabla de profesores </b></font><br>\n". echo "</td>".'>". text-align: center. echo "<td style='width: 255px. echo "<tr><td style='width: 281px. text-align: center. echo "<tr><td style='width: 281px. E. echo "<tr><td style='width: 281px. mysql_error() . echo "" .

if(!$result) { echo "<td style='width: 163px. echo "</td>". } else { echo "<td style='width: 163px.'>".'>". echo "" . } else { echo "<td style='width: 163px. echo "</td>\n".P. text-align: center. echo "<tr><td style='width: 281px. } $result = mysql_query($sql_eq).) 116 . echo "</td>". } else { echo "<td style='width: 163px. echo "<tr><td style='width: 281px. "\n". text-align: center.</td></tr> \n". mysql_error() . echo "<font color=red>Error </font>\n". echo "<td style='width: 255px. if(!$result) { echo "<td style='width: 163px. text-align: center. text-align: left. echo "" . text-align: center. "\n". echo "</td>\n". echo "<font color=green>Correcto</font>\n".Vicente Sancho Guijarro 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 echo "</td>". } else { echo echo echo echo \n".'>". echo "<font><b>Creacion de la tabla de equipo directivo </b></font><br> \n". echo "<font color=green>Correcto</font>\n".</td></tr> $result = mysql_query($sql_admin). text-align: center. text-align: center. mysql_error() . E. text-align: center. de Informática Aplicada (U. echo "</td>". text-align: center.'>". if(!$result) { echo "<td style='width: 163px. echo "<font><b>Creacion de la tabla de director </b></font><br>\n".'>". } $result = mysql_query($sql_director). echo "<font color=green>Correcto</font>\n". echo "<td style='width: 255px.'>&nbsp. echo "</td>\n".T. text-align: left.S. "</td>".'>". echo "<font><b>Creacion de la tabla de administrador </b></font><br>\n".'>".</td></tr> \n". echo "</td>". echo "</td>". } Proyecto Final de Carrera "<td style='width: 163px.V. echo "<font color=red>Error </font>\n".'>".'>". echo "<td style='width: 255px.'>&nbsp. echo "</td>".'>".'>".'>&nbsp.'>". echo "<td style='width: 255px. mysql_error() . echo "</td>".'>&nbsp. echo "</td>".'>". text-align: center. echo "" . echo "</td>". echo "<font color=red>Error </font>\n". text-align: center. echo "<td style='width: 255px. "<td style='width: 255px. text-align: center. text-align: center. echo "<tr><td style='width: 281px. echo "<td style='width: 255px. text-align: center. "\n". text-align: center. text-align: left.</td></tr> \n". "<font color=green>Correcto</font>\n".

echo "<tr><td style='width: 281px. text-align: center. text-align: center. } $result = mysql_query($sql_instalacion).'>&nbsp. echo "<font><b>Creacion de la tabla de instalacion </b></font><br>\n". echo "<font color=red>Error </font>\n". text-align: left. } $result = mysql_query($sql_anuncio). echo "<font color=red>Error </font>\n".'>&nbsp.'>". echo "" . text-align: center.</td></tr> \n". mysql_error() . mysql_error() . } else { echo "<td style='width: 163px.'>". echo "<font color=red>Error </font>\n". echo "<font color=green>Correcto</font>\n".'>". echo "</td>". text-align: center. "\n". if(!$result) { echo "<td style='width: 163px.V. echo "<td style='width: 255px. de Informática Aplicada (U. echo "</td>\n". echo "</td>". "\n".'>". echo "<tr><td style='width: 281px. echo "<font color=green>Correcto</font>\n". echo "</td>".'>".Vicente Sancho Guijarro 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 } Proyecto Final de Carrera $result = mysql_query($sql_jefe). echo "" .'>&nbsp.'>". text-align: center. mysql_error() . echo "</td>". echo "</td>". text-align: center. E. echo "<font><b>Creacion de la tabla de Jefe de estudios </b></font><br> \n". text-align: center.T. echo "<font><b>Creacion de la tabla de secretario </b></font><br>\n". text-align: center.P. echo "</td>". if(!$result) { echo "<td style='width: 163px. echo "</td>\n". echo "</td>".'>". echo "<td style='width: 255px. echo "<tr><td style='width: 281px. } else { echo "<td style='width: 163px. text-align: left.S. echo "</td>". echo "<td style='width: 255px. echo "<font><b>Creacion de la tabla de tabla de anuncios </b></font><br> \n". echo "<tr><td style='width: 281px.'>".'>".) 117 . echo "<td style='width: 255px. text-align: center. text-align: center. echo "" .'>". text-align: left. if(!$result) { echo "<td style='width: 163px. echo "<td style='width: 255px. echo "<td style='width: 255px.'>".'>". } else { echo "<td style='width: 163px. echo "</td>\n".</td></tr> \n". "\n".'>". if(!$result) { echo "<td style='width: 163px. text-align: center.</td></tr> \n". echo "</td>\n".'>". text-align: center. text-align: left. } $result = mysql_query($sql_secretario). echo "<font color=green>Correcto</font>\n". echo "</td>". text-align: center.

} else { echo "<td style='width: 163px. text-align: center. echo "</td>\n". echo "</td>". echo "<font color=red>Error </font>\n". echo "</td>". echo "<td style='width: 255px. echo "</td>".'>". text-align: center. echo "<font><b>Creacion de la tabla de res_equi </b></font><br>\n".'>". text-align: center. echo "<td style='width: 255px.'>".'>&nbsp. "</td>". echo "</td>".'>&nbsp. "</td>". "\n".) 118 . text-align: center. "<td style='width: 163px. "<font color=green>Correcto</font>\n". text-align: center. } Proyecto Final de Carrera "<font color=red>Error </font>\n". "<td style='width: 255px. echo "</td>". E. echo "<td style='width: 255px.'>".'>". if(!$result) { echo "<td style='width: 163px. text-align: center. "\n". echo "</td>\n". if(!$result) { echo "<td style='width: 163px. echo "<font color=green>Correcto</font>\n". "<td style='width: 255px. echo "" .'>".'>".'>". echo "<font color=green>Correcto</font>\n". text-align: center. } $result = mysql_query($sql_res_equi). text-align: center.T.'>". "" . echo "<td style='width: 255px. "\n". "\n". text-align: center.'>&nbsp. echo "<font><b>Creacion de la tabla de res_ins </b></font><br>\n". de Informática Aplicada (U. text-align: center. text-align: center.'>".'>".V. echo "<td style='width: 255px. mysql_error() . text-align: left.</td></tr> \n". echo "</td>". text-align: left.'>". echo "<font color=red>Error </font>\n". if(!$result) { echo "<td style='width: 163px.S. echo "" . } else { echo "<td style='width: 163px.'>". echo "" .Vicente Sancho Guijarro 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 echo echo echo echo echo } else { echo echo echo echo \n". echo "<tr><td style='width: 281px. echo "</td>". text-align: left.</td></tr> $result = mysql_query($sql_equipacion). } else { echo "<td style='width: 163px. text-align: center. echo "</td>\n". echo "</td>". mysql_error() . text-align: center. } $result = mysql_query($sql_res_ins). echo "</td>".</td></tr> \n". echo "<tr><td style='width: 281px. mysql_error() . echo "<tr><td style='width: 281px. echo "<font><b>Creacion de la tabla de equipacion </b></font><br>\n". text-align: center. echo "<font color=red>Error </font>\n". echo "<font color=green>Correcto</font>\n".'>". "</td>".P. mysql_error() .

text-align: center. echo "<font color=green>Correcto</font>\n".'>". echo "<td style='width: 255px. echo "</td>\n".) 119 . echo "<font><b>Creacion de la tabla de asignatura </b></font><br>\n".'>". echo "<font><b>Creacion de la tabla de nota </b></font><br>\n".'>&nbsp. mysql_error() . text-align: center. echo "<font color=red>Error </font>\n". if(!$result) { echo "<td style='width: 163px. text-align: center.'>". echo "<tr><td style='width: 281px. } $result = mysql_query($sql_responsable). text-align: center. if(!$result) { echo "<td style='width: 163px. echo "</td>". echo "</td>". echo "</td>\n". echo "</td>".'>". echo "</td>\n".</td></tr> \n".Vicente Sancho Guijarro 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 Proyecto Final de Carrera echo "<td style='width: 255px. text-align: center.'>&nbsp.'>". echo "<font><b>Creacion de la tabla de imparte </b></font><br>\n". text-align: center. echo "" . text-align: center. echo "</td>". echo "<td style='width: 255px.V. echo "</td>". "\n".T. echo "</td>". echo "<font><b>Creacion de la tabla de responsable </b></font><br>\n". } $result = mysql_query($sql_imparte). E. echo "" .'>".'>". echo "</td>".'>". "\n". echo "<font color=red>Error </font>\n".'>". "\n". text-align: center. text-align: center. echo "<td style='width: 255px. echo "<font color=green>Correcto</font>\n".</td></tr> \n". echo "<td style='width: 255px. text-align: left. } $result = mysql_query($sql_asignatura).</td></tr> \n". echo "<tr><td style='width: 281px. if(!$result) { echo "<td style='width: 163px. echo "</td>\n". if(!$result) { echo "<td style='width: 163px. text-align: center.'>". } else { echo "<td style='width: 163px. } else { echo "<td style='width: 163px. echo "<tr><td style='width: 281px. echo "<td style='width: 255px. } else { echo "<td style='width: 163px.S.'>". echo "<td style='width: 255px. echo "<font color=red>Error </font>\n". echo "</td>". echo "<font color=green>Correcto</font>\n". } $result = mysql_query($sql_nota). text-align: center.'>&nbsp. echo "" . text-align: center. echo "<tr><td style='width: 281px.</td></tr> \n". text-align: center. text-align: left.'>". de Informática Aplicada (U. text-align: left. mysql_error() .P. text-align: center. text-align: left.'>". mysql_error() .'>".'>&nbsp. echo "</td>".

Vicente Sancho Guijarro
765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 echo echo echo echo echo } else { echo echo echo echo \n"; }

Proyecto Final de Carrera

"<font color=red>Error </font>\n"; "</td>"; "<td style='width: 255px; text-align: center;'>"; "" . mysql_error() . "\n"; "</td>";

"<td style='width: 163px; text-align: center;'>"; "<font color=green>Correcto</font>\n"; "</td>"; "<td style='width: 255px; text-align: center;'>&nbsp;</td></tr>

$result = mysql_query($sql_faltaasistencia); echo "<tr><td style='width: 281px; text-align: left;'>"; echo "<font><b>Creacion de la tabla de falta asistencia </b></font><br> \n"; echo "</td>\n"; if(!$result) { echo "<td style='width: 163px; text-align: center;'>"; echo "<font color=red>Error </font>\n"; echo "</td>"; echo "<td style='width: 255px; text-align: center;'>"; echo "" . mysql_error() . "\n"; echo "</td>"; } else { echo "<td style='width: 163px; text-align: center;'>"; echo "<font color=green>Correcto</font>\n"; echo "</td>"; echo "<td style='width: 255px; text-align: center;'>&nbsp;</td></tr> \n"; } $result = mysql_query($sql_grupo); echo "<tr><td style='width: 281px; text-align: left;'>"; echo "<font><b>Creacion de la tabla de grupo </b></font><br>\n"; echo "</td>\n"; if(!$result) { echo "<td style='width: 163px; text-align: center;'>"; echo "<font color=red>Error </font>\n"; echo "</td>"; echo "<td style='width: 255px; text-align: center;'>"; echo "" . mysql_error() . "\n"; echo "</td>"; } else { echo "<td style='width: 163px; text-align: center;'>"; echo "<font color=green>Correcto</font>\n"; echo "</td>"; echo "<td style='width: 255px; text-align: center;'>&nbsp;</td></tr> \n"; } $result = mysql_query($sql_impartida); echo "<tr><td style='width: 281px; text-align: left;'>"; echo "<font><b>Creacion de la tabla de impartida </b></font><br>\n"; echo "</td>\n"; if(!$result) { echo "<td style='width: 163px; text-align: center;'>"; echo "<font color=red>Error </font>\n"; echo "</td>"; echo "<td style='width: 255px; text-align: center;'>"; echo "" . mysql_error() . "\n"; echo "</td>"; } else { echo "<td style='width: 163px; text-align: center;'>"; echo "<font color=green>Correcto</font>\n";

E.T.S. de Informática Aplicada (U.P.V.)

120

Vicente Sancho Guijarro

Proyecto Final de Carrera

842 echo "</td>"; 843 echo "<td style='width: 255px; text-align: center;'>&nbsp;</td></tr> 844 \n"; 845 } 846 847 $result = mysql_query($sql_evento); 848 echo "<tr><td style='width: 281px; text-align: left;'>"; 849 echo "<font><b>Creacion de la tabla de evento </b></font><br>\n"; 850 echo "</td>\n"; 851 if(!$result) 852 { 853 echo "<td style='width: 163px; text-align: center;'>"; 854 echo "<font color=red>Error </font>\n"; 855 echo "</td>"; 856 echo "<td style='width: 255px; text-align: center;'>"; 857 echo "" . mysql_error() . "\n"; 858 echo "</td>"; 859 } 860 else 861 { 862 echo "<td style='width: 163px; text-align: center;'>"; 863 echo "<font color=green>Correcto</font>\n"; 864 echo "</td>"; 865 echo "<td style='width: 255px; text-align: center;'>&nbsp;</td></tr> 866 \n"; 867 } 868 869 $result = mysql_query($sql_gen_even); 870 echo "<tr><td style='width: 281px; text-align: left;'>"; 871 echo "<font><b>Creacion de la tabla de gen_even </b></font><br>\n"; 872 echo "</td>\n"; 873 if(!$result) 874 { 875 echo "<td style='width: 163px; text-align: center;'>"; 876 echo "<font color=red>Error </font>\n"; 877 echo "</td>"; 878 echo "<td style='width: 255px; text-align: center;'>"; 879 echo "" . mysql_error() . "\n"; 880 echo "</td>"; 881 } 882 else 883 { 884 echo "<td style='width: 163px; text-align: center;'>"; 885 echo "<font color=green>Correcto</font>\n"; 886 echo "</td>"; 887 echo "<td style='width: 255px; text-align: center;'>&nbsp;</td></tr> 888 \n"; 889 } 890 891 echo " </tbody></table><br><br>"; 892 } 893 894 function borrar_tablas () 895 { 896 echo "<html><head>"; 897 echo "<title>Eliminacion de las tablas de base de datos WebCole</title>< 898 /head>"; 899 echo "<table style='text-align: left; width: 100%;' border='1' 900 cellpadding='2' cellspacing='2'>"; 901 echo "<tbody> <tr> <td style='text-align: center; width: 281px; font902 weight: bold;'><big>Descripcion</big></td>"; 903 echo "<td style='text-align: center; width: 163px;'><big><span 904 style='font-weight: bold;'>Estado</span></big></td>"; 905 echo "<td style='text-align: center; width: 255px;'><big><span 906 style='font-weight: bold;'>Error</span></big></td>"; 907 echo "</tr>"; 908 909 $i = 0; 910 911 $prueba[$i]["sql"] = 'DROP TABLE `gen_even`'; 912 $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de gen_even"; 913 914 $prueba[$i]["sql"] = 'DROP TABLE `evento`'; 915 $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de evento"; 916 917 $prueba[$i]["sql"] = 'DROP TABLE `impartida`'; 918 $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de impartida";

E.T.S. de Informática Aplicada (U.P.V.)

121

Vicente Sancho Guijarro
919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995

Proyecto Final de Carrera

$prueba[$i]["sql"] = 'DROP TABLE `grupo`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de grupo"; $prueba[$i]["sql"] = 'DROP TABLE `faltaasistencia`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de falta asistencia"; $prueba[$i]["sql"] = 'DROP TABLE `nota`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de nota"; $prueba[$i]["sql"] = 'DROP TABLE `imparte`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de imparte"; $prueba[$i]["sql"] = 'DROP TABLE `asignatura`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de asignatura"; $prueba[$i]["sql"] = 'DROP TABLE `responsable`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de responsable"; $prueba[$i]["sql"] = 'DROP TABLE `res_equi`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de res_Equi"; $prueba[$i]["sql"] = 'DROP TABLE `res_ins`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de res_ins"; $prueba[$i]["sql"] = 'DROP TABLE `equipacion`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de equipacion "; $prueba[$i]["sql"] = 'DROP TABLE `instalacion`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de instalacion"; $prueba[$i]["sql"] = 'DROP TABLE `anuncio`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de anuncio"; $prueba[$i]["sql"] = 'DROP TABLE `secretario`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de secretario"; $prueba[$i]["sql"] = 'DROP TABLE `jefeestudio`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de Jefe de estudios "; $prueba[$i]["sql"] = 'DROP TABLE `director`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de director"; $prueba[$i]["sql"] = 'DROP TABLE `equipodirectivo`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de equipo directivo"; $prueba[$i]["sql"] = 'DROP TABLE `administrador`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de administrador"; $prueba[$i]["sql"] = 'DROP TABLE `padre`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de padre"; $prueba[$i]["sql"] = 'DROP TABLE `alumno`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de alumno"; $prueba[$i]["sql"] = 'DROP TABLE `profesor`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de profesor"; $prueba[$i]["sql"] = 'DROP TABLE `usuario`'; $prueba[$i++]["descripcion"] = "Eliminacion de la tabla de usuario"; ejecutar ($prueba, $link); echo " </tbody></table><br><br>"; } // crea la base de datos (no crea nada mas) function crear_bd($link) { echo "<html><head>"; echo "<title>Creacion de la base de datos Webcole</title></head>"; echo "<table style='text-align: left; width: 100%;' border='1' cellpadding='2' cellspacing='2'>";

E.T.S. de Informática Aplicada (U.P.V.)

122

Vicente Sancho Guijarro
996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072

Proyecto Final de Carrera

echo "<tbody> <tr> <td style='text-align: center; width: 281px; fontweight: bold;'><big>Descripcion</big></td>"; echo "<td style='text-align: center; width: 163px;'><big><span style='font-weight: bold;'>Estado</span></big></td>"; echo "<td style='text-align: center; width: 255px;'><big><span style='font-weight: bold;'>Error</span></big></td>"; echo "</tr>"; $i = 0; $prueba[$i]["sql"] = 'CREATE DATABASE `webcole`;'; $prueba[$i++]["descripcion"] = "Creacion de la base de datos de WebCole"; ejecutar ($prueba, $link); echo " </tbody></table><br><br>"; } //permite borrar la base de datos ( y todas las tablas ) //no borra las perfiles de los usuarios que pueden acceder a la base de datos //no confundir con los datos que hay dentro de las tablas de "usuario", "alumno", "padre" ... function borrar_bd($link) { echo "<html><head>"; echo "<title>Elimanacion de la base de datos Webcole</title></head>"; echo "<table style='text-align: left; width: 100%;' border='1' cellpadding='2' cellspacing='2'>"; echo "<tbody> <tr> <td style='text-align: center; width: 281px; fontweight: bold;'><big>Descripcion</big></td>"; echo "<td style='text-align: center; width: 163px;'><big><span style='font-weight: bold;'>Estado</span></big></td>"; echo "<td style='text-align: center; width: 255px;'><big><span style='font-weight: bold;'>Error</span></big></td>"; echo "</tr>"; $i = 0; $prueba[$i]["sql"] = 'DROP DATABASE `webcole`'; $prueba[$i++]["descripcion"] = "Eliminacion de la base de datos"; ejecutar ($prueba, $link); echo " </tbody></table><br><br>"; } //las opciones de la tabla function inicio_html () { echo "<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'> \n"; echo "<html>\n"; echo "<head>\n"; echo "<meta content='text/html; charset=ISO-8859-1'\n"; echo " http-equiv='content-type'>\n"; echo "<title>Setup para Webcole</title>\n"; echo "</head>\n"; echo "<body>\n"; echo "<div style='text-align: center;'><big><big><span\n"; echo " style='font-weight: bold;'>Fichero para la\n"; echo "inicializaci&oacute;n de la base de datos para el PFC WebCole<br> \n"; echo "<br>\n"; echo "</span></big></big>\n"; echo "<div style='text-align: left;'>\n"; echo "<table style='text-align: left; width: 952px; height: 171px;'\n"; echo " border='1' cellpadding='2' cellspacing='2'>\n"; echo " <tbody>\n"; echo " <tr>\n"; echo " <td style='font-weight: bold; width: 633px;'>Crear\n"; echo "la base de\n"; echo "datos de 'WebCole'</td>\n"; echo " <td style='width: 318px;'>\n"; echo " <form method='get' action='setup.php'\n"; echo " name='crear_db'><button value='1' name='opcion'>Crear\n"; echo "base de datos </button></form>\n"; echo " </td>\n";

E.T.S. de Informática Aplicada (U.P.V.)

123

Vicente Sancho Guijarro
1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo echo

Proyecto Final de Carrera

" </tr>\n"; " <tr>\n"; " <td style='width: 633px;'><span\n"; " style='font-weight: bold;'>Crear las\n"; "tablas de la base de datos </span><span \n"; " style='font-weight: bold;'>(si la base de \n"; "datos no existe, se crear&aacute;)</span></td> \n"; " <td style='width: 318px;'> \n"; " <form method='get' action='setup.php' \n"; " name='crear_tablas'><button value='2' name='opcion'>Crear \n"; "tablas</button></form> \n"; " </td> \n"; " </tr> \n"; " <tr> \n"; " <td style='font-weight: bold; width: 633px;'>Destruir \n"; "las tablas de la base de datos</td> \n"; " <td style='width: 318px;'> \n"; " <form method='get' action='setup.php' \n"; " name='Destruir_tablas'><button value='3' \n"; " name='opcion'>Destruir tablas</button></form> \n"; " </td> \n"; " </tr> \n"; " <tr> \n"; " <td style='font-weight: bold; width: 633px;'>Destruir \n"; "la base de datos de 'Webcole' (se destruir&aacute;n \n"; "tambi&eacute;n las tablas)</td> \n"; " <td style='width: 318px;'> \n"; " <form method='get' action='setup.php' \n"; " name='Destruir_db'><button value='4' name='opcion'>Destruir \n"; "base de datos</button></form> \n"; " </td> \n"; " </tr> \n";

echo " <tr> \n"; echo " <td style='font-weight: bold; width: 633px;'> Ejemplos </td> \n"; echo " <td style='width: 318px;'> \n"; echo " <form method='get' action='setup.php' name='Destruir_db'><button value='5' name='opcion'>"; echo " Ejemplos</button></form> \n"; echo " </td> \n"; echo " </tr> \n";

echo " <tr> \n"; echo " <td style='font-weight: bold; width: 633px;'> Crear Perfiles usuarios </td> \n"; echo " <td style='width: 318px;'> \n"; echo " <form method='get' action='setup.php' name='Destruir_db'><button value='6' name='opcion'>"; echo " Crear Perfiles Usuarios</button></form> \n"; echo " </td> \n"; echo " </tr> \n"; echo " <tr> \n"; echo " <td style='font-weight: bold; width: 633px;'> Borrar Perfiles usuarios </td> \n"; echo " <td style='width: 318px;'> \n"; echo " <form method='get' action='setup.php' name='Destruir_db'><button value='7' name='opcion'>"; echo " Borrar Perfiles Usuarios</button></form> \n"; echo " </td> \n"; echo " </tr> \n";

echo " <tr> \n"; echo " <td style='font-weight: bold; width: 633px;'>Pruebas</td> \n"; echo " <td style='width: 318px;'> \n"; echo " <form method='get' action='setup.php' name='Destruir_db'><button value='99' name='opcion'>"; echo " Pruebas</button></form> \n"; echo " </td> \n"; echo " </tr> \n";

E.T.S. de Informática Aplicada (U.P.V.)

124

$datos["password"] = "password". echo "<tr><td style='width: 281px. $resultado["descripcion"].'>". echo "</tr>". } else { echo "<td style='width: 163px.V. $datos["telefono"] = "699161799".' border='1' cellpadding='2' cellspacing='2'>".</a><br> ". $resultado = insertar_usuario($datos. fontweight: bold. echo "<font color=red>Error </font>\n". $datos["dni"] = "3312". $datos["poblacion"] = "alboraya". echo "</td>". echo "</body></html>". PROFESOR). text-align: center. $datos["apellido1"] = "Blasco".php'>aqu&iacute. echo "</div> ". text-align: left.'><big><span style='font-weight: bold. echo " style='font-weight: bold. echo "</td>". $datos["direccion"] = "Maria Pastor". $datos = array("login" => "viblasan". echo "" .) 125 .'><big><span style='font-weight: bold. width: 255px.</td></tr> \n". $datos["email"] = "viblasan@ei.'></span></big></big>< big><big><span \n".S. width: 100%. echo "<font color=green>Correcto</font>\n". echo "<td style='width: 255px.Vicente Sancho Guijarro 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 Proyecto Final de Carrera echo " </tbody> \n".'></span></big></big></div> \n". echo "<td style='text-align: center.upv. echo "Vuelve al inicio pulsando <a href='setup.es". text-align: center.'>Estado</span></big></td>".'><big>Descripcion</big></td>". if(!$resultado["estado"]) { echo "<td style='width: 163px. $datos["tutorias"] = "null". } //final de la pagina html function fin_html () { echo "<br>". echo "</div> \n".'> ". } // Carga varios usuarios en la base de datos function ejemplos ($link) { echo "<html><head>". echo "<td style='text-align: center.). echo "<tbody> <tr> <td style='text-align: center.'>". text-align: center. echo "</body> \n". echo "<table style='text-align: left. echo "<div style='text-align: center. width: 281px.'>Error</span></big></td>". $datos["apellido2"] = "Sánchez".'>". echo "<big><big><span style='font-weight: bold.'>". echo "</table> \n". "\n".'>&nbsp. width: 163px. $datos["cp"] = "46120". echo "</td>". } E.P. echo "</td>\n".T. de Informática Aplicada (U. echo "<title>Ejemplos para la base de datos Webcole</title></head>". $datos["nombre"] = "viblasan". echo "<td style='width: 255px. text-align: center. echo "<font><b>Ejemplo Usuario-Profesor(viblasan) </b></font><br>\n". echo "</html> \n".

} $datos = array("login" => "visebo").'>". echo "</td>". E. $datos["direccion"] = "Colon". echo "<font><b>Ejemplo Usuario-Profesor(visangui) </b></font><br>\n". $resultado = insertar_usuario($datos. $datos["tutorias"] = "null". text-align: center. $datos["email"] = "visangui@ei. $resultado["descripcion"].'>". } $datos = array("login" => "pater"). $datos["cp"] = "46123". $datos["nombre"] = "Vicente". ALUMNO). $datos["apellido1"] = "Apellido1Alumno1". $datos["telefono"] = "654161799".</td></tr> \n". echo "<td style='width: 255px.) 126 . de Informática Aplicada (U. text-align: center.T. "\n".S. echo "<font><b>Ejemplo Usuario-Alumno(visebo) </b></font><br>\n". text-align: center.'>". echo "" . $datos["poblacion"] = "Valencia". text-align: center. echo "<td style='width: 255px. text-align: center.'>&nbsp. $datos["poblacion"] = "Valencia". PROFESOR). echo "<font color=red>Error </font>\n".'>&nbsp.'>". $datos["apellido2"] = "Apellido2Alumno1".es".'>". Proyecto Final de Carrera echo "<tr><td style='width: 281px. $datos["direccion"] = "Colon".P.'>". echo "<font color=red>Error </font>\n". echo "</td>". $datos["tutorias"] = "null".es". echo "" . } else { echo "<td style='width: 163px. if(!$resultado["estado"]) { echo "<td style='width: 163px. $datos["apellido1"] = "Sancho". $datos["password"] = "password". text-align: left.V. $datos["password"] = "password".upv. $datos["apellido2"] = "Guijarro". echo "</td>".Vicente Sancho Guijarro 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 $datos = array("login" => "visangui"). $resultado = insertar_usuario($datos. $datos["email"] = "Alumno1@ei. text-align: center. echo "</td>".'>". $resultado["descripcion"]. if(!$resultado["estado"]) { echo "<td style='width: 163px. text-align: center. echo "</td>\n". echo "</td>\n". $datos["apellido1"] = "Apellido1Padre1". } else { echo "<td style='width: 163px. $datos["nombre"] = "Padre1".upv. text-align: center.'>". echo "</td>". $datos["nombre"] = "Alumno1". echo "<td style='width: 255px. echo "</td>". $datos["dni"] = "3312". text-align: left. echo "<font color=green>Correcto</font>\n". $datos["direccion"] = "Colon". $datos["cp"] = "46456".</td></tr> \n". echo "<font color=green>Correcto</font>\n". $datos["telefono"] = "63456777". $datos["apellido2"] = "Apellido2Padre1". "\n". echo "<td style='width: 255px. echo "<tr><td style='width: 281px. $datos["dni"] = "3312".

'>&nbsp. $datos["telefono"] = "699161799". text-align: left. $datos["apellido2"] = "Guijarro". de Informática Aplicada (U. } else { echo "<td style='width: 163px. $datos["dni"] = "3312".'>&nbsp. text-align: center. text-align: center. $datos["cp"] = "46123". echo "<td style='width: 255px. $datos["dni"] = "3312". echo "<td style='width: 255px.upv. echo "<font color=red>Error </font>\n". echo "<font color=green>Correcto</font>\n". text-align: center. text-align: center. echo "" . $datos["direccion"] = "Maria Pastor". $datos["tutorias"] = "null". echo "</td>\n". echo "<font><b>Ejemplo Usuario-Padre(pater) </b></font><br>\n". text-align: center. text-align: center.es".P. "apellido1"=>"Blasco". echo "</td>\n". echo "</td>". echo "</td>". echo "</td>".</td></tr> \n". $resultado = insertar_usuario($datos. E. echo "<td style='width: 255px.'>".es". "\n".'>".upv. $datos["password"] = "password". } else { echo "<td style='width: 163px.V.'>". echo "" . echo "</td>". echo "<font><b>Ejemplo Usuario-ADMINISTRADOR(viblasan2) </b></font><br> \n". echo "<tr><td style='width: 281px. $datos["apellido1"] = "Sancho". Proyecto Final de Carrera echo "<tr><td style='width: 281px. text-align: center. $datos["email"] = "visangui@ei. echo "<font color=green>Correcto</font>\n". echo "<font color=red>Error </font>\n".'>". $datos["telefono"] = "63456777". echo "<td style='width: 255px. PADRE). } $datos = array("login" => "visangui2").'>". $datos["tutorias"] = "null". } $datos = array("login" => "viblasan2".es".upv.</td></tr> \n". $datos["cp"] = "46120".'>". text-align: left. $datos["email"] = "viblasan@ei.S. echo "</td>". $datos["dni"] = "3312".'>". $datos["telefono"] = "654161799". $resultado["descripcion"]. echo "</td>". $datos["cp"] = "46456".T. $datos["email"] = "pater@ei.Vicente Sancho Guijarro 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 $datos["poblacion"] = "Valencia". $resultado = insertar_usuario($datos. $datos["nombre"] = "Vicente". $datos["direccion"] = "Colon". "apellido2"=>"Sánchez"). $datos["password"] = "password".) 127 . $datos["poblacion"] = "Valencia". $datos["poblacion"] = "alboraya".'>". ADMINISTRADOR). "nombre"=>"viblasan". $datos["password"] = "password". "\n". if(!$resultado["estado"]) { echo "<td style='width: 163px. $resultado["descripcion"]. if(!$resultado["estado"]) { echo "<td style='width: 163px. text-align: center.

</td></tr> \n". $datos["telefono"] = "63456777".) 128 . echo "" . echo "<font color=green>Correcto</font>\n".".'>". E.P. echo "<td style='width: 255px.'>&nbsp. (2.es". text-align: center. $datos["dni"] = "3312". Proyecto Final de Carrera $resultado = insertar_usuario($datos. } else { echo "<td style='width: 163px. text-align: center. } else { echo "<td style='width: 163px. $datos["apellido2"] = "Apellido2Alumno2". echo "<font><b>Ejemplo Usuario-ADMINISTRADOR(visangui2) </b></font><br> \n". text-align: center. echo "</td>". text-align: left.". '/webcole/normas/Gimnasio. $resultado = insertar_usuario($datos. $datos["email"] = "Alumno1@ei. echo "</td>\n". $resultado["descripcion"]. } $datos = array("login" => "visebo2").S. $datos["cp"] = "46123". $resultado["descripcion"]. text-align: center. $prueba[$i++]["descripcion"] = "Creando equipaciones: Radio-CD y Televisor".'>". "\n". echo "</td>". 'Televisor'. 'Disponible'. echo "<tr><td style='width: 281px. '/webcole/normas/Televisor. "\n".'>". $datos["apellido1"] = "Apellido1Alumno2".T. de Informática Aplicada (U. $datos["poblacion"] = "Valencia". echo "<td style='width: 255px. 'Gimnasio'. `estado`. $prueba[$i]["sql"] = "INSERT INTO `instalacion` (`idinstalacion`. $datos["direccion"] = "Colon". `equipacion`.V. echo "<tr><td style='width: 281px. echo "</td>".pdf'). `normas`) VALUES (1. 'Radio-CD'. echo "</td>". $datos["password"] = "password".pdf'). '/webcole/normas/Pabellon_cubierto.pdf'). $datos["tutorias"] = "null". `instalacion`.pdf'). $datos["nombre"] = "Alumno2".Vicente Sancho Guijarro 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 $datos["tutorias"] = "null".'>". '/webcole/normas/Radio_cd. text-align: center. if(!$resultado["estado"]) { echo "<td style='width: 163px.'>&nbsp. text-align: center. (2. echo "</td>". text-align: center. echo "<font><b>Ejemplo Usuario-ALUMNO(visebo2) </b></font><br>\n". 'Disponible'. echo "</td>". ALUMNO). if(!$resultado["estado"]) { echo "<td style='width: 163px. } $i = 0. `normas`) VALUES (1. $prueba[$i]["sql"] = "INSERT INTO `equipacion` (`idequipacion`. echo "" . echo "<td style='width: 255px.</td></tr> \n".'>". text-align: left. echo "<td style='width: 255px. echo "<font color=red>Error </font>\n". text-align: center. echo "</td>\n".'>".'>".upv. echo "<font color=green>Correcto</font>\n". $prueba[$i++]["descripcion"] = "Creando instalacion: gimnasio y pabellon cubierto". echo "<font color=red>Error </font>\n".'>". ADMINISTRADOR). 'Pabellon Cubierto'.

`lugar`. 'Posibilidad de reservar. `dni`. 'Noticia'. '2000-10-09 17:06:08'. 'España'. (9. 46002. `apellido2`. '96300101'). ('jose'. 'Festivo'.es'. `curso`. (12. $prueba[$i]["sql"] = "INSERT INTO `usuario` (`login`. '00000000'. 'Festivo'. 'C/ Menorca. $prueba[$i++]["descripcion"] = "Secretario ". 'Inicio del curso académico 2007/2008'). '87654321'. 'esoj'. 'ep'.) 129 . '2000-12-06 19:34:46'. 46550. $prueba[$i]["sql"] = "INSERT INTO `equipodirectivo` (`login`.P. `letra`) VALUES ('pepito'. 'jose@emiliolluch. (11. '12345678'. 'Pepe'. 'Administrador'. 'Pepito'. 'A'). $prueba[$i++]["descripcion"] = " Alumno Miguelito y pepito ". ('jose'. 'Sánchez'. ('pepito'.'). ". '46502365'. 'Día de la Constitución'). 'Valencia'. `cp`. `email`. $prueba[$i++]["descripcion"] = " Director ". '961680076'). 'Gómez'. 'Sánchez'. 46119. 'UPV'. 'Inmaculada Concepción') . `email`) VALUES ('pepe'. '2007-07-01 13:04:09'. 'Martínez'. 'Festividad Virgen del Pilar'). 'jose@emiliolluch. 'admin@emiliolluch. 'Mayor. '2007-06-11 13:32:53'. 'pepe@emiliolluch. $prueba[$i]["sql"] = "INSERT INTO `alumno` (`login`. (7. ".Vicente Sancho Guijarro 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 Proyecto Final de Carrera $prueba[$i]["sql"] = "INSERT INTO `evento` (`idevento`. 'UPV'. (5. 'José'. 'Menor. ('miguelito'. 23'. 'San José'). $prueba[$i++]["descripcion"] = "Jefe Estudios ". 25'. 'Presentada la primera maqueta de la web.S. `contrasenya`. 'Valencia'. 46005. $prueba[$i++]["descripcion"] = " equipodirectivo ". 'Día de la Comunitat Valenciana'). 46001. 'Noticia'. $prueba[$i]["sql"] = "INSERT INTO `profesor` (`login`. '961652020'). 'Náquera'. `apellido1`.es'). ". 23'. 'adm'.es'). 'Festivo'. ('jose'. 'web'.es'. 'Festivo'. 'mig'. `fecha`. '2000-12-08 19:35:45'. ('juan'. 'Jueves 9:30 . 'Noticia'. 'Web'. '46502365'. 'Día del trabajador').". ". $prueba[$i]["sql"] = " INSERT INTO `administrador` (`login`. 'A'). `tutorias`) VALUES ('pepe'. ('juan'. $prueba[$i++]["descripcion"] = " Profesores ". 'C/ Mestral. 'nimda'.V. `direccion`. '87654321'. 'Colegio'. anular reservas de instalaciones y equipamientos(solo para profesores)') . 'Noticia'. 'Martes 10:30-13:00'). 'Implementado el calendario escolar. 'Festivo'. $prueba[$i++]["descripcion"] = "Varios Usuarios". `telefono`) VALUES ('pepe'. 'Martínez'. '96158020'). $prueba[$i]["sql"] = " INSERT INTO `director` (`login`) VALUES ('pepe'). ('miguelito'. '2007-09-10 18:12:19'. `email`) VALUES ('admin'. (3.13:30'). `dni`. 46119. $prueba[$i]["sql"] = "INSERT INTO `jefeestudio` (`login`) VALUES ( 'juan'). ('juan'.T. '2000-05-01 13:49:41'. '1'. 'Cazorla'.". '961652335'). '12345678'. E. '2000-03-19 19:33:47'.es'). (10. s/n'. '2000-10-12 19:31:05'. 'Valencia'.". `nombre`. 'Pérez'. `poblacion`. '96123457'). 'España'. (4. (8. '2000-11-01 19:37:00'. 'Festivo'.". (6. 'España'. de Informática Aplicada (U. 'adm'. 'Valencia'. 'Curso'. 12'.'). $prueba[$i++]["descripcion"] = "Administrador ". 'epep'. ". `titulo`. 'Miguelito'. '2007-05-06 13:31:54'.es'. $prueba[$i]["sql"] = "INSERT INTO `asignatura` (`codigoasignatura`.'). 'Festivo'. (2. 'nauj'. 'pepe@emiliolluch. 'Todos los santos'). 'Peris'. 'juan@emiliolluch. `dni`. $prueba[$i++]["descripcion"] = "Eventos del colegio". 'García'. 'España'. 'Valencia'. ('admin'. 'Viernes 9:00-12:00'). `descripcion`) VALUES (1. 'Nàquera'.es'). 'España'. 'juan@emiliolluch. '1'. '2007-06-17 19:31:05'. 'Juan'. 'Calle principal'. 'Serra'. 'Crespo'. 'Reparado el problema de las tildes en la web. 'C/ Polideportivo. $prueba[$i]["sql"] = "INSERT INTO `secretario` (`login`) VALUES ('jose') .

". Física'. `letra`. $prueba[$i]["sql"] = "INSERT INTO `webcole`. 'A'. `horario`) VALUES (1. $result = mysql_query($actual["sql"]). 'Lunes 15 Miércoles 10 Jueves 15'). ('1'. 'B1'. ('1'. '1'. echo "" . ('1'. `letra`. (7. 8). 'Lunes 16 Viernes 15'). (4. ('1'. `tutor`) VALUES ('1'. '1'. 'Lunes 9 Martes 9 Jueves 10'). 'Castellano'. Ciudadanía'. '1'. 'A'. (9. mysql_error() . `profesor`) VALUES (\'1\'. 'A'. (\'2\'. 'A'. 'B1'. 'Martes 15 Martes 16'). text-align: left. echo "<td style='width: 255px. // Los parametros que recibe son: // $datos: es una matriz con la forma array (array ( sql => descripcion )) // sql contiene la sentencia sql // descripcion muestra el texto explicativo que aparecera en la tabla // $link: el link con la base de datos //// function ejecutar ($datos. (8. "\n". 6). '1'.'>". echo "</td>". ('1'. '1'. '1'. (10. 3).) 130 . '1'.V. `curso`. 'Tutoría'. \'viblasan\'). echo "<tr><td style='width: 281px. `delegado`. ejecutar($prueba. echo "<font color=green>Correcto</font>\n". `tutor`) VALUES ('1'. $link). $prueba[$i]["sql"] = "INSERT INTO `grupo` (`curso`. '1'. `letra`. $prueba[$i++]["descripcion"] = "Grupo". (6. } else { echo "<td style='width: 163px. 'A'.Vicente Sancho Guijarro 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 Proyecto Final de Carrera `nombre`. text-align: center. `asignatura`) VALUES ('1'. 'Jueves 16'). 'A'.`imparte` (`asignatura`. $prueba[$i]["sql"] = "INSERT INTO `impartida` (`curso`. 2). text-align: center.'>&nbsp. 7). 'A'. 'Valencià'. 1). 'A'. \'viblasan\'). 'Miércoles 9 Jueves 11 Viernes 11'). '</b></font><br>'. (5. echo "</td>". 'Ética/Religión'. ('1'. $prueba[$i++]["descripcion"] = "Imparte = Viblasan". 'A'. `delegado`.". 'Ed. $prueba[$i++]["descripcion"] = "Asignaturas". echo "<td style='width: 255px. echo "<font color=red>Error </font>\n". 9). 'A'. ('1'. $prueba[$i++]["descripcion"] = "Clases impartidas". $actual["sql"] . ('1'. } //// // Funcion que permite ejecutar cualquier sentencia sql. de Informática Aplicada (U. 'Conocimiento del medio'. ('1'. "<br>". echo " </tbody></table><br><br>". echo "</td>\n". 'juan'). 10). '1'. 'Inglés'. 'pepito'. Plástica'. 'Martes 11 Miércoles 15 Jueves 9 Viernes 10'). $link) { foreach ( $datos as $actual) { //echo "sql: " .P. '1'. 'Martes 10 Viernes 16'). 'Ed. (3.'>". 'A'. $prueba[$i]["sql"] = "INSERT INTO `grupo` (`curso`. text-align: center. 'Lunes 11 Miércoles 16').". text-align: center.".</td>< E. 'A'. 5). `aula`. $prueba[$i++]["descripcion"] = "Grupo". `aula`. $actual["descripcion"] . echo '<font><b>' .T. 'juan'). 4).'>". 'Ed. if(!$result) { echo "<td style='width: 163px. 'Lunes 10 Miércoles 11 Viernes 9').S. (2. echo "</td>". 'pepito'.". 'Matemáticas'.'>".

'><big>Descripcion</big></td>". fontweight: bold. } } } function crear_perfiles($link) { echo "<html><head>". if(!$result) { echo "<td style='width: 163px. width: 100%. "\n".'><big><span style='font-weight: bold.'><big><span style='font-weight: bold. width: 255px. } echo "</table>". width: 163px. echo "<font color=red>Error </font>\n". echo "<td style='text-align: center. echo "</td></tr>". width: 281px. de Informática Aplicada (U.V. echo "<title>Creacion de perfiles para la base de datos Webcole</title> </head>".P. echo "</td>". text-align: center. text-align: left. echo "<table style='text-align: left. echo "<font color=green>Correcto</font>\n". $actual["descripcion"] . echo "<td style='width: 255px. //// // Creando usuarios genericos // Los administradores utilizaran root para acceder a la base de datos ( por el momento al menos) // Todos los usuarios de cada grupo accederan con el mismo perfil. echo "<tbody> <tr> <td style='text-align: center. echo '<font><b>' . $actual["sql"] .' border='1' cellpadding='2' cellspacing='2'>". por ejemplo todos los profesores // accederan a la base de datos con el perfil de profesores y con los privilegios que eso supone E. } } } Proyecto Final de Carrera //// // Funcion que permite ejecutar cualquier sentencia sql que devuelven resultados. echo "<td style='text-align: center. } else { echo "<td style='width: 163px. echo "</td>". echo "<td style='width: 255px. echo"</td></tr>\n". text-align: center. mysql_error() .'>".'>".S. // Los parametros que recibe son: // $datos: es una matriz con la forma array (array ( sql => descripcion )) // sql contiene la sentencia sql // descripcion muestra el texto explicativo que aparecera en la tabla // $link: el link con la base de datos //// function ejecutar_leer_resultados ($datos. echo "</tr>".'>Estado</span></big></td>". echo "</td>\n". '</b></font><br>'. text-align: center. text-align: center. $link) { foreach ( $datos as $actual) { //echo "sql: " .Vicente Sancho Guijarro 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 /tr>\n".) 131 .T.'>Error</span></big></td>". while ($row = mysql_fetch_row($result)) { echo "<tr><td>". $result = mysql_query($actual["sql"]).'>". echo "</td>". echo "<tr><td style='width: 281px. echo $row[0]. "<br>".'>". echo "" . echo "<table><tr><td>Resultados</td></tr>".'>".

DELETE ON `webcole`.'.S. INSERT.* TO \'alumno\'@\'localhost\' IDENTIFIED BY \'alumno\'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0. INSERT. DELETE ON `webcole`. $prueba[$i]["sql"] = 'CREATE USER \'alumno\'@\'localhost\' IDENTIFIED BY \'alumno\'. $prueba[$i++]["descripcion"] = "Creando el perfil alumno".'. $prueba[$i]["sql"] = 'GRANT SELECT.) 132 .* TO \'equipodirectivo\'@\'localhost\' IDENTIFIED BY \'equipodirectivo\'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0. DELETE ON `webcole`. $prueba[$i++]["descripcion"] = "Creando el perfil profesor". `faltaasistencia` TO \'profesor\'@\'localhost\'. `anuncio` TO \'equipodirectivo\'@\'localhost\'.'.* TO \'profesor\'@\'localhost\' IDENTIFIED BY \'profesor\'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0.V. $prueba[$i]["sql"] = 'GRANT SELECT.'. $prueba[$i]["sql"] = 'GRANT SELECT ON `webcole`. $prueba[$i++]["descripcion"] = "Padre: Permisos generales".* TO \'padre\'@\'localhost\' IDENTIFIED BY \'padre\'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0.Vicente Sancho Guijarro 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 /// $i = 0. $prueba[$i++]["descripcion"] = "Creando el perfil Equipo Directivo". $prueba[$i++]["descripcion"] = "Profesor: Permisos generales".'. //// // Permisos generales /// $prueba[$i]["sql"] = 'GRANT SELECT ON `webcole`.'.'. UPDATE. $prueba[$i]["sql"] = 'CREATE USER \'padre\'@\'localhost\' IDENTIFIED BY \'padre\'. $prueba[$i++]["descripcion"] = "Alumno: Permisos generales". E.'.T. UPDATE. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla anuncio ". `anuncio` TO \'alumno\'@\'localhost\'. $prueba[$i++]["descripcion"] = "Equipo Directivo: Permisos generales". $prueba[$i++]["descripcion"] = "Equipo Directivo: Permisos tabla anuncio ".'. de Informática Aplicada (U. `anuncio` TO \'padre\'@\'localhost\'. $prueba[$i]["sql"] = 'GRANT SELECT ON `webcole`. DELETE ON `webcole`. DELETE ON `webcole`. UPDATE.'.'. //// // Permisos especificos para cada perfil en cada tabla //// //// // Profesor //// $prueba[$i]["sql"] = 'GRANT SELECT.P. INSERT. UPDATE. $prueba[$i++]["descripcion"] = "Padre: Permisos tabla anuncio ". $prueba[$i]["sql"] = 'GRANT SELECT ON `webcole`. `anuncio` TO \'profesor\'@\'localhost\'. $prueba[$i]["sql"] = 'CREATE USER \'equipodirectivo\'@\'localhost\' IDENTIFIED BY \'equipodirectivo\'. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla faltaasistencia ". Proyecto Final de Carrera $prueba[$i]["sql"] = 'CREATE USER \'profesor\'@\'localhost\' IDENTIFIED BY \'profesor\'.'. INSERT. INSERT. UPDATE. $prueba[$i]["sql"] = 'GRANT SELECT. $prueba[$i++]["descripcion"] = "Alumno: Permisos tabla anuncio ". $prueba[$i++]["descripcion"] = "Creando el perfil padre". $prueba[$i]["sql"] = 'GRANT SELECT.'.

T. INSERT.'>Error</span></big></td>". $prueba[$i]["sql"] = 'GRANT SELECT. DELETE ON `webcole`. UPDATE. $prueba[$i++]["descripcion"] = "Borrando el perfil alumno". UPDATE. de Informática Aplicada (U.'.'. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla res_ins ". UPDATE. echo "<table style='text-align: left. INSERT. width: 100%. width: 163px. INSERT. echo "<td style='text-align: center.'. `res_equi` TO \'profesor\'@\'localhost\'.'><big><span style='font-weight: bold.'. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla res_equi ". "<table style='text-align: left. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla anuncio ". $prueba[$i]["sql"] = 'DROP USER \'padre\'@\'localhost\'. DELETE ON `webcole`.'><big>Descripcion</big></td>". UPDATE. UPDATE. $prueba[$i]["sql"] = 'GRANT SELECT. DELETE ON `webcole`. $prueba[$i]["sql"] = 'DROP USER \'alumno\'@\'localhost\'. `res_ins` TO \'profesor\'@\'localhost\'. fontweight: bold. $prueba[$i]["sql"] = 'DROP USER \'profesor\'@\'localhost\'. DELETE ON `webcole`. echo "</tr>". $prueba[$i]["sql"] = 'GRANT SELECT.'><big><span style='font-weight: bold. $prueba[$i]["sql"] = 'GRANT SELECT. echo " </tbody></table><br><br>". echo "<title>Borrado de perfiles para la base de datos Webcole</title>< /head>".S.V. $prueba[$i]["sql"] = 'GRANT SELECT. `anuncio` TO \'profesor\'@\'localhost\'. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla nota ". `nota` TO \'profesor\'@\'localhost\'. INSERT.'. echo "<td style='text-align: center. // Un profesor no puede tocar los grupos creados. $link). ejecutar ($prueba. DELETE ON `webcole`. ejecutar ($prueba. $link).' border='1' E.'. $prueba[$i++]["descripcion"] = "Borrando el perfil padre". `res_ins` TO \'padre\'@\'localhost\'. $prueba[$i++]["descripcion"] = "Padre: Permisos tabla res_ins ".'. $i = 0. $prueba[$i]["sql"] = 'DROP USER \'equipodirectivo\'@\'localhost\'.'. $prueba[$i++]["descripcion"] = "Alumno: Permisos tabla res_ins ". width: 255px.Vicente Sancho Guijarro 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 Proyecto Final de Carrera $prueba[$i]["sql"] = 'GRANT SELECT.P. DELETE ON `webcole`. `res_ins` TO \'alumno\'@\'localhost\'. } function { echo echo echo pruebas ($link) "<html><head>". INSERT. echo "<tbody> <tr> <td style='text-align: center.) 133 . UPDATE. excepto el campo // delegado. "<title>PRUEBAS</title></head>".' border='1' cellpadding='2' cellspacing='2'>". $prueba[$i++]["descripcion"] = "Profesor: Permisos para cambiar el delegado del grupo ". } function borrar_perfiles($link) { echo "<html><head>". que puede variar durante el curso. echo " </tbody></table><br><br>". width: 100%.'. $prueba[$i++]["descripcion"] = "Borrando el perfil equipodirectivo". INSERT.`grupo` TO \'profesor\'@\'localhost\'.'.'. $prueba[$i++]["descripcion"] = "Borrando el perfil profesor". width: 281px. Ademas se deberia // de comprobar que el profesor que lo haga sea el tutor del grupo $prueba[$i]["sql"] = 'GRANT UPDATE (`delegado`) ON `webcole`.'>Estado</span></big></td>".

set mensaje = "Padre eliminado". /* $sql = 'CREATE PROCEDURE borrar_padre (padre VARCHAR(20).) 134 .".P. select count(*) into dep from responsable where padre = padre.'><big><span style='font-weight: bold. END. set m := 'alter'. $prueba[$i++]["descripcion"] = "creando @padre". echo "</tr>". IF dep = 0 THEN set mensaje := 'antes'. $i = 0. echo "<td style='text-align: center.T. END. ELSE set mensaje := concat('No se puedo borrar al padre'.". @padre). $sql2 = "CREATE PROCEDURE prueba (inout mensaje INT ) BEGIN DECLARE dep INT. OUT mensaje VARCHAR(100) ) BEGIN DECLARE dep INT. $link).'. */ $sql = "CREATE PROCEDURE borrar_padre (IN padre VARCHAR(20). END.'>Error</span></big></td>". $prueba[$i++]["descripcion"] = "Creando un procedimiento: prueba". IF dep = 0 THEN delete from padre where login = padre. $prueba[$i++]["descripcion"] = "Borrando procedimiento: prueba". $prueba[$i]["sql"] = $sql2.". delete from padre where login = @padre.". $prueba[$i++]["descripcion"] = "Creando un procedimiento: borrar_padre". $prueba[$i]["sql"] = "drop procedure prueba. de Informática Aplicada (U. $prueba[$i++]["descripcion"] = "creando @mensaje". END IF. ejecutar ($prueba.".'><big>Descripcion</big></td>".S. fontweight: bold. END IF. $prueba[$i++]["descripcion"] = "Borrando procedimiento: borrar_padre". width: 281px. echo "<td style='text-align: center.". delete from usuario where login = @padre. set mensaje := concat('Padre borrado: '. ELSE set mensaje = "No se pudo borrar".V. $prueba[$i]["sql"] = "call borrar_padre(@pater.'>Estado</span></big></td>". DECLARE m VARCHAR(20). @padre).'><big><span style='font-weight: bold. OUT mensaje VARCHAR(100) ) BEGIN DECLARE dep INT. $prueba[$i]["sql"] = $sql.". $prueba[$i]["sql"] = "set @padre='pater'.Vicente Sancho Guijarro 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 Proyecto Final de Carrera cellpadding='2' cellspacing='2'>". width: 255px. select count(*) into mensaje from usuario. select count(*) into dep from responsable where padre = padre. echo "<tbody> <tr> <td style='text-align: center. width: 163px. $prueba[$i++]["descripcion"] = "Llamando al procedimiento: borrar_padre". set mensaje = "inicio". $prueba[$i]["sql"] = "set @mensaje='a'. E. $prueba[$i]["sql"] = "drop procedure borrar_padre. @mensaje).

E. 1942 } 1943 1944 function leeropciones () 1945 { 1946 $opcion = $_GET['opcion']. 1986 1987 case '7': 1988 borrar_perfiles($link). 1962 fin_html (). 1970 case '4': 1971 borrar_bd($link). 1930 $prueba4[$i++]["descripcion"] = "creando @mensaje". 1973 fin_html (). 1980 exit. $link). 1959 cambiar_a_bd($link). 1961 cerrar_db ($link). 1924 $prueba3[$j]["sql"] = "select @mensaje. 1977 ejemplos($link). 1947 if (isset($opcion)) 1948 { 1949 $link = conexion (). 1996 cerrar_db ($link). 1979 fin_html (). 1926 1927 ejecutar_leer_resultados($prueba3. 1955 cerrar_db ($link). 1936 1937 $prueba5[$j]["sql"] = "select @mensaje.". 1966 borrar_tablas (). $link). 1932 $prueba4[$i++]["descripcion"] = "Llamando al procedimiento: prueba". 1991 exit. 1978 cerrar_db ($link).V.P.Vicente Sancho Guijarro Proyecto Final de Carrera 1920 1921 1922 1923 $j = 0. 1969 exit. 1928 $i=0. 1935 $j = 0. 1931 $prueba4[$i]["sql"] = "call prueba(@mensaje). 1984 fin_html(). 1950 switch ($opcion) 1951 { 1952 case '1': 1953 crear_bd($link). 1995 pruebas($link). 1985 exit. 1989 cerrar_db ($link). de Informática Aplicada (U. 1968 fin_html (). 1956 exit. 1981 case '6': 1982 crear_perfiles($link). 1972 cerrar_db ($link). 1983 cerrar_db ($link). $link).T. 1960 crear_tablas (). 1939 ejecutar_leer_resultados($prueba5. 1963 exit. 1967 cerrar_db ($link).) 135 . 1957 case '2': 1958 crear_bd($link). 1974 exit.". 1992 1993 case '99': 1994 cambiar_a_bd($link). 1964 case '3': 1965 cambiar_a_bd($link). 1925 $prueba3[$j++]["descripcion"] = "Leyendo resultado: borrar_padre".". 1929 $prueba4[$i]["sql"] = "set @mensaje=1.". 1990 fin_html().S. 1940 1941 echo " </tbody></table><br><br>". 1938 $prueba5[$j++]["descripcion"] = "Leyendo resultado: prueba". 1933 1934 ejecutar ($prueba4. 1954 fin_html (). 1975 case '5': 1976 cambiar_a_bd($link).

Vicente Sancho Guijarro 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 fin_html(). echo "</body></html>". Proyecto Final de Carrera default: echo "<div style='text-align: center.</big></big> </big><br> ". echo "</body></html>". de Informática Aplicada (U.P.php'>aqu&iacute. exit. echo "</div> ".T.n desconociada. echo "<big><big><big>Opci&oacute.) 136 . inicio_html(). echo "<big><big><big>Vuelve al inicio pulsando <a href='setup.</a></big></big></big><br> ". 0. } } } leeropciones (). '> ". 0).'> ". exit. echo "<div style='text-align: center. ?> E. echo "</div> ". color: rgb(255.S.V.

$faltandatos . if (empty($password)){ $error = true. `apellido2`."'.V.} $poblacion = $datos['poblacion'].S. $faltandatos .= "Falta Direccion <br>". `apellido1`. `cp`. define('ALUMNO'. '" . 4). $faltandatos = "". require_once "conexion_i. $telefono .= "Falta Codigo Postal < br>".Vicente Sancho Guijarro Proyecto Final de Carrera Interfaz_db. if (empty($apellido2)){ $apellido2 = 'null'. `contrasenya`. "'.`usuario` (`login`. } $sql_usuario = "INSERT INTO `webcole`.= "Falta Apellido1 <br>". "'. '" . define('ADMINISTRADOR'. $link = conexion_i(). if (empty($login)){ $error = true. define('PADRE'.) 137 . cambiar_a_bd_i($link). //datos generales del usuario $login = $datos['login']. if (empty($direccion)){ $error = true.= "Falta Login <br>". 3).} $password = $datos['password'].= "Falta Nombre <br>".". if (empty($apellido1)){ $error = true. de Informática Aplicada (U.= "Falta Password < br>". "'. define('JEFEESTUDIO'. `direccion`. '" .} $nombre = $datos['nombre']. $apellido2 . '" . //indicara si el usuario a registrar es uno de los tres tipo de equipo directivo //(porque hay que hacer una insercion mas. $faltandatos .} $cp = $datos['cp'].T. 6).} $telefono = $datos['telefono']. $faltandatos . define('SECRETARIO'. $poblacion . $login . '" . $eq = false. '" . if (empty($telefono)){ $telefono = 'null'. } $direccion = $datos['direccion']. if (empty($cp)){ $error = true. "'. "'. $faltandatos . "'. if (empty($poblacion)){ $error = true. `nombre`.= "Falta Poblacion <br>". $faltandatos . $faltandatos . "'. 2). define('DIRECTOR'. $direccion . '" .php". $descripcion = "". "'). $cp . $password .php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php define('PROFESOR'. switch ($tipo) { case PROFESOR: //tipo profesor E. if (empty($nombre)){ $error = true. $nombre . 1). $apellido1 . `telefono`) VALUES ('" . function insertar_usuario($datos.P. 7). $tipo) { $error = false. '" . } $apellido1 = $datos['apellido1']. `poblacion`. 5).} $apellido2 = $datos['apellido2'].

= "Falta DNI <br> ".V. $faltandatos . case JEFEESTUDIO: $dni = $datos['dni']. break.= "Falta DNI <br> ".} $email = $datos['email']. break. $login . $login .= "Falta DNI <br> ". $email . $login . "'.". "'. if (empty($tutorias)){ $tutorias = 'null'. $dni . case PADRE: $dni = $datos['dni']. break. } $sql_especifico = "INSERT INTO `webcole`. '" . break.T. '" .`administrador` (`login`. '" .`director` (`login`) VALUES ( '" . $dni .". de Informática Aplicada (U.) 138 . if (empty($email)){ $email = 'null'.`alumno` (`login`) VALUES ('" . $faltandatos . "'. $email . $email . `dni`. if (empty($dni)){ $error = true. if (empty($dni)){ $error = true. "').S. `tutorias`) VALUES ('" . } $sql_especifico = "INSERT INTO `webcole`.} $email = $datos['email']. '" .". '" . "'. "'). if (empty($email)){ $email = 'null'.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera $dni = $datos['dni']. "'). } $sql_especifico = "INSERT INTO `webcole`. if (empty($dni)){ $error = true. $login . "'. $dni . $login . $email . "'). `email`) VALUES ('" .". $tutorias .} $email = $datos['email']. if (empty($email)){ $email = 'null'. '" . } $tutorias = $datos['tutorias']. $login . "'. "'. $faltandatos .= "Falta DNI <br> ". `dni`.} $email = $datos['email']. "'). break.} E.". '" . case ADMINISTRADOR: $dni = $datos['dni']. } $sql_especifico = "INSERT INTO `webcole`. $sql_ed = "INSERT INTO `webcole`. $eq = true. case ALUMNO: //alumno $sql_especifico = "INSERT INTO `webcole`."').`equipodirectivo` (`login`. "'. $faltandatos .`padre` (`login`. if (empty($email)){ $email = 'null'.P. `dni`. if (empty($dni)){ $error = true. $dni .". case DIRECTOR: $dni = $datos['dni']. "'.= "Falta DNI <br> ". `email`) VALUES ('" . if (empty($dni)){ $error = true. `email`. $faltandatos . '" . `email`) VALUES ('" .`profesor` (`login`. '" . `dni`.

"').= "Falta DNI <br> ".Vicente Sancho Guijarro 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 Proyecto Final de Carrera $email = $datos['email']. case SECRETARIO: $dni = $datos['dni']."). if ( $error == true) { $descripcion = "Faltan datos importantes: <br>" . $login . de Informática Aplicada (U.S. } //empieza la transacci� de las inserciones $result=mysqli_query($link. $faltandatos. default: break. $sql_ed).`jefeestudio` (`login`) VALUES ('" . $email . $faltandatos . "'. '" .= mysqli_error($link) . $resultado = array("estado"=>!$error. "'). $dni . $login . if (empty($dni)){ $error = true. $descripcion .V. if (!$result) { $descripcion . "SET AUTOCOMMIT=0. } $result = mysqli_query($link. "BEGIN. $sql_ed = "INSERT INTO `webcole`."). $sql_ed = "INSERT INTO `webcole`. "'. $result = mysqli_query($link. } if ($eq == true) //este usuario pertenece al equipo directivo { $result = mysqli_query($link. break. if (!$result) { $error = true. if (empty($email)){ $email = 'null'.} $email = $datos['email'].= mysqli_error($link) .".) 139 .P. $eq = true.". `email`) VALUES ('" . } $sql_especifico = "INSERT INTO `webcole`. " <br>". } } //si no ha ocurrido ningun error finalizamos la transaccion if ($error == false) E. `email`) VALUES ('" . `dni`. $login . if (empty($email)){ $email = 'null'. $login .T. "<br>". $email . $eq = true. }//fin switch //Si ha ocurrido algun error no continuamos //por el momento solo false si ha ocurrido algun error en //en los datos mismos. "'). '" . $dni . $descripcion . return $resultado.". $sql_usuario). } $sql_especifico = "INSERT INTO `webcole`. `dni`.`equipodirectivo` (`login`. "'.= mysqli_error($link) . " <br>". $sql_especifico). "descripcion"=>$descripcion). "'. $result=mysqli_query($link. break.`equipodirectivo` (`login`. '" . if (!$result) { $error = true.". '" .`secretario` (`login`) VALUES ('" . "').

"descripcion"=>$descripcion). con lo que //la base de datos deber� de quedar sin rastros de las operaciones //que hemos intentado hacer. $resultado = array("estado"=>!$error."). TRUE)."ROLLBACK. else { $result = mysqli_query($link."COMMIT.V. mysqli_autocommit($link. return $resultado.Vicente Sancho Guijarro 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 } 247 248 249 ?> { mysqli_query($link. de Informática Aplicada (U. "SET AUTOCOMMIT=1. mysqli_close($link).").P. Proyecto Final de Carrera } //si se ha producido algun error hacemos un rollback.) 140 . } $result=mysqli_query($link.T.").S. E. mysqli_commit($link).

S.P. $user. $pass = "webcole". $pass). if(!$link_i) { echo "Error en la conexion con la bd <br>\n". if(!$link_i) { echo "Error en la conexion con la bd <br>\n". $pass). die. } return $link_i. die. $link_i = mysqli_connect($maquina. } return $db. if(!$db) { echo "No se ha podido cambiar a la base de datos WebCole<br>". die. } return $link_i. } function conexion_i_login ($user. $maquina.) 141 . 'webcole').php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 <?php function conexion_i () { $user = "cole1". $maquina = "localhost".$pass) { $link_i = mysqli_connect($maquina.Vicente Sancho Guijarro Proyecto Final de Carrera Connexion_i. } function cambiar_a_bd_i($link_i) { $db = mysqli_select_db($link_i.T. de Informática Aplicada (U. } ?> E. } function cerrar_db_i ($link) { mysqli_close($link).V. $user.

$user. die. if(!$db) { echo "No se ha podido cambiar a la base de datos WebCole<br>". "<br> ". die. die. $user. $pass).V. } function cambiar_a_bd_concreta($link. } return $link. $link).php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 <?php function conexion () { $user = "cole1". if(!$db) { echo "No se ha podido cambiar a la base de datos " . } return $db. $pass ) { $link = mysql_connect($maquina. } return $db. } function cambiar_a_bd($link){ $db = mysql_select_db('webcole'. if(!$link) { echo "Error en la conexion con la bd <br>\n".Vicente Sancho Guijarro Proyecto Final de Carrera Conexión. $maquina = "localhost".S. } return $link. } function conexion_login ($user. $pass = "webcole". } ?> E. $nombre){ $db = mysql_select_db($nombre. die. de Informática Aplicada (U. $nombre . if(!$link) { echo "Error en la conexion con la bd <br>\n". } function cerrar_db ($link) { mysql_close($link).) 142 .T. $link = mysql_connect($maquina. $maquina. $pass). $link).P.

php">Localizaci&oacute.php">Historia</a></li> <li><a href="equipoDirectivo.quera (Valencia).</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.gva.) 143 .cult./js/fecha.T. Código PHP Index.fono 96 168 00 76<br /> e-mail: <a href="mailto:46005788@servicec."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp. </p> <p>C.es"> 46005788@servicec.P.cult.php"> <p> <label>Login <input type="text" name="log" /> </label> <br/> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" /> E. blico Emilio Lluch de N&agrave.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 <?php require_once ("Anonimo_inc.</td> <td colspan="2" class="titulo">&nbsp. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.php">Contactar</a></li> <li><a href="enlaces. </p> <p>46119 . EMILIO LLUCH </p> <p>Calle Polideportivo.php">Enlaces</a></li> </ul> </td> <td class="general"><p>Bienvenido al sitio web del Colegio P&uacute.php">Equipo directivo</a></li> <li><a href="reglamento.</td> </tr> <tr> <td class="fecha">&nbsp.N&agrave.php").</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="#">Inicio</a></li> <li><a href="historia.js"> </script> <link href="css/principal.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. de Informática Aplicada (U.gva. s/n.php">Calendario escolar</a></li> <li><a href="localizacion.w3. org/TR/xhtml1/DTD/xhtml1-strict.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".n</a></li> <li><a href="contactar.php">Reglamento</a></li> <li><a href="calendario.V. P.S.0 Strict//EN" "http://www.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().quera (Valencia) </p> <p>Tel&eacute.w3.Vicente Sancho Guijarro Proyecto Final de Carrera G.dtd"> <html xmlns="http://www.es</a></p> </td> <td class="foto">&nbsp.

P.V. 85 ?> 86 </p> 87 </tr> 88 </table> 89 </body> 90 </html> E.Vicente Sancho Guijarro Proyecto Final de Carrera 69 </label> 70 </p> 71 </form> 72 <p> 73 <?php 74 if($_COOKIE['login'] == "Error") 75 { 76 echo '<span class="fechaNoticia">Autenticación errónea</span>'. 77 } 78 ?> 79 </p></td> 80 <td colspan="2" class="noticias"> 81 <h3>Noticias</h3> 82 <p> 83 <?php 84 noticias().T. de Informática Aplicada (U.) 144 .S.

php">Localizaci&oacute.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 <?php require_once ("Anonimo_inc.php").P./js/fecha.o xxxx se hizo una ampliaci&oacute.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). como duchas o enfermer&iacute.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp. </p></td> <td class="general">&nbsp.0 Strict//EN" "http://www.o XXXX.w3.php">Contactar</a></li> <li><a href="enlaces. ?></td> </tr> </table> </body> </html> E.S.a.</p> <p>El a&ntilde. de Informática Aplicada (U.php">Enlaces</a></li> </ul> </td> <td class="general"><h1>Historia del centro</h1> <p>El centro fue inaugurado el a&ntilde.</td> </tr> <tr> <td class="fecha">&nbsp.) 145 .js"> </script> <link href="css/principal.php">Calendario escolar</a></li> <li><a href="localizacion.Vicente Sancho Guijarro Proyecto Final de Carrera Historia.n del gimnasio para mejorar las instalaciones con servicios de los cuales antes se carec&iacute.a.V.n</a></li> <li><a href="contactar.w3.php">Inicio</a></li> <li><a href="#">Historia</a></li> <li><a href="equipoDirectivo.</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.php">Reglamento</a></li> <li><a href="calendario. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.dtd"> <html xmlns="http://www.php"> <p> <label>Login <input type="text" name="log" /> </label> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" /> </label> </p> </form> <p>&nbsp.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". org/TR/xhtml1/DTD/xhtml1-strict.T.php">Equipo directivo</a></li> <li><a href="reglamento.</td> <td colspan="2" class="titulo">&nbsp. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.</p></td> <td colspan="2" class="noticias"> <h3>Noticias</h3> <?php noticias().

php"> <p> <label>Login <input type="text" name="log" /> </label> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" /> </label> </p> </form> <p>&nbsp.0 Strict//EN" "http://www.dtd"> <html xmlns="http://www.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="."><p style="font-weight: bold.</td> <td colspan="2" class="titulo">&nbsp.</p></td> <td colspan="2" class="noticias"> <h3>Noticias</h3> <?php noticias(). org/TR/xhtml1/DTD/xhtml1-strict.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php">Contactar</a></li> <li><a href="enlaces.js"> </script> <link href="css/principal.S.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().w3.V.php">Inicio</a></li> <li><a href="historia.php">Historia</a></li> <li><a href="#">Equipo directivo</a></li> <li><a href="reglamento.) 146 .n</a></li> <li><a href="contactar.php">Localizaci&oacute.</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.Vicente Sancho Guijarro Proyecto Final de Carrera Equipodirectivo.w3.php">Enlaces</a></li> </ul> </td> <td class="general" style="text-align: left . charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.php").php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once ("Anonimo_inc. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ?> <p>&nbsp./js/fecha.php">Calendario escolar</a></li> <li><a href="localizacion.T. </p></td> <td class="general">&nbsp.</td> </tr> <tr> <td class="fecha">&nbsp. ?> </td> </tr> </table> </body> </html> E. de Informática Aplicada (U."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp. font-size:30px">Equipo directivo</p> <?php equipo_directivo().P.php">Reglamento</a></li> <li><a href="calendario.

Vicente Sancho Guijarro

Proyecto Final de Carrera

Reglamento.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 <?php require_once ("Anonimo_inc.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3. org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="./js/fecha.js"> </script> <link href="css/principal.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime();"> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp;</td> <td colspan="2" class="titulo">&nbsp;</td> </tr> <tr> <td class="fecha">&nbsp;</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp;</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.php">Inicio</a></li> <li><a href="historia.php">Historia</a></li> <li><a href="equipoDirectivo.php">Equipo directivo</a></li> <li><a href="#">Reglamento</a></li> <li><a href="calendario.php">Calendario escolar</a></li> <li><a href="localizacion.php">Localizaci&oacute;n</a></li> <li><a href="contactar.php">Contactar</a></li> <li><a href="enlaces.php">Enlaces</a></li> </ul> </td> <td class="general"><p style="font-weight: bold; font-size:30px"> Reglamento de r&eacute;gimen interno</p> <p>Para descargar en formato PDF, pulse <a href="docs/rri.pdf"> aqu&iacute;. <img src="img/word_logo.jpg" alt="Word" /></a></p> <p>Para descargar en formato DOC, pulse <a href="docs/rri.doc"> aqu&iacute;. <img src="img/pdf_logo.gif" alt="PDF" /></a></p> </td> <td class="imagenReglamento">&nbsp;</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.php"> <p> <label>Login <input type="text" name="log" /> </label> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" /> </label> </p> </form> <p>&nbsp;</p></td> <td colspan="2" class="noticias"><h3>Noticias</h3> <?php noticias(); ?></td> </tr> </table> </body> </html>

E.T.S. de Informática Aplicada (U.P.V.)

147

Vicente Sancho Guijarro

Proyecto Final de Carrera

Calendarioescolar.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3. org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> <link href="css/calendario.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="./js/fecha.js"> </script> <link href="css/principal.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime();"> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp;</td> <td colspan="2" class="titulo">&nbsp;</td> </tr> <tr> <td class="fecha">&nbsp;</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp;</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.php">Inicio</a></li> <li><a href="historia.php">Historia</a></li> <li><a href="equipoDirectivo.php">Equipo directivo</a></li> <li><a href="reglamento.php">Reglamento</a></li> <li><a href="#">Calendario escolar</a></li> <li><a href="localizacion.php">Localizaci&oacute;n</a></li> <li><a href="contactar.php">Contactar</a></li> <li><a href="enlaces.php">Enlaces</a></li> </ul> </td> <td class="general"><h1>Calendario escolar </h1> <?php require ("calendarioscript.php"); if (!$HTTP_POST_VARS && !$HTTP_GET_VARS){ $tiempo_actual = time(); $mes = date("n", $tiempo_actual); $ano = date("Y", $tiempo_actual); $dia=date("d"); $fecha=$ano . "-" . $mes . "-" . $dia; }else { $mes = $_GET["nuevo_mes"]; $ano = $_GET["nuevo_ano"]; $dia = $_GET["dia"]; $fecha=$ano . "-" . $mes . "-" . $dia; } //echo"Fecha Seleccionada <input type=text name=fecha value=$fecha>"; mostrar_calendario($dia,$mes,$ano); ?> </td> <td class="imagenCalendario">&nbsp;</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.php"> <p> <label>Login <input type="text" name="log" /> </label> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" />

E.T.S. de Informática Aplicada (U.P.V.)

148

Vicente Sancho Guijarro

Proyecto Final de Carrera

74 </label> 75 </p> 76 </form> <p>&nbsp;</p></td> 77 <td colspan="2" class="noticias"> 78 <p><strong>Eventos del d&iacute;a:</strong> </p> 79 80 <?php 81 $conn=Conectar(); 82 $sql="SELECT * FROM evento WHERE titulo = '"."Curso"."' OR titulo = 83 '"."Festivo"."'"; 84 $res=consulta($sql,$conn); 85 $hayEventos = 0; //¿Hay eventos para el dia seleccionado? 86 while($row=siguiente($res)) 87 { 88 $fecha = split("-",sacarFecha($row["fecha"])); 89 if($dia == $fecha[0] && $mes == $fecha[1] && ($fecha[2] == 90 "2000" || $fecha[2] == $ano)) 91 { 92 echo "<p><span class='fechaNoticia'>".sacarDiaMes($row[ 93 "fecha"])."-".$ano."</span> ".tohtml($row["descripcion"])."< 94 /p>"; 95 $hayEventos = 1; // SI hay eventos 96 } 97 } 98 if($hayEventos == 0) //Si no hay eventos para el dia seleccionado 99 echo "<p>No hay eventos para el d&iacute;a seleccionado</p>"; 100 Desconectar($conn); 101 ?> 102 </td> 103 </tr> 104 </table> 105 </body> 106 </html>

E.T.S. de Informática Aplicada (U.P.V.)

149

Vicente Sancho Guijarro

Proyecto Final de Carrera

Localizacion.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 <?php require_once ("Anonimo_inc.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3. org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="./js/fecha.js"> </script> <link href="css/principal.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime();"> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp;</td> <td colspan="2" class="titulo">&nbsp;</td> </tr> <tr> <td class="fecha">&nbsp;</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp;</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.php">Inicio</a></li> <li><a href="historia.php">Historia</a></li> <li><a href="equipoDirectivo.php">Equipo directivo</a></li> <li><a href="reglamento.php">Reglamento</a></li> <li><a href="calendario.php">Calendario escolar</a></li> <li><a href="#">Localizaci&oacute;n</a></li> <li><a href="contactar.php">Contactar</a></li> <li><a href="enlaces.php">Enlaces</a></li> </ul> </td> <td class="general"><h1>Localizaci&oacute;n</h1> <p>C. P. EMILIO LLUCH </p> <p>Calle Polideportivo, s/n. </p> <p>46119 - N&agrave;quera (Valencia)</p> <p><a href="javascript:;" onclick="window.open('http://www.naquera. com/servicios/plano_callejero_v.asp','Mapa','width=500,height=325')"> Ver mapa de N&agrave;quera</a> </p></td> <td class="imagenLocalizacion">&nbsp;</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.php"> <p> <label>Login <input type="text" name="log" /> </label> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" /> </label> </p> </form> <p>&nbsp;</p></td> <td colspan="2" class="noticias"><h3>Noticias</h3> <?php noticias(); ?></td> </tr> </table> </body> </html>

E.T.S. de Informática Aplicada (U.P.V.)

150

Vicente Sancho Guijarro

Proyecto Final de Carrera

Contactar.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once ("Anonimo_inc.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3. org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="./js/fecha.js"> </script> <link href="css/principal.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime();"> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp;</td> <td colspan="2" class="titulo">&nbsp;</td> </tr> <tr> <td class="fecha">&nbsp;</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp;</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.php">Inicio</a></li> <li><a href="historia.php">Historia</a></li> <li><a href="equipoDirectivo.php">Equipo directivo</a></li> <li><a href="reglamento.php">Reglamento</a></li> <li><a href="calendario.php">Calendario escolar</a></li> <li><a href="localizacion.php">Localizaci&oacute;n</a></li> <li><a href="#">Contactar</a></li> <li><a href="enlaces.php">Enlaces</a></li> </ul> </td> <td class="general"><h1>Contacto</h1> <p>Para cualquier duda o sugerencia no dude en ponerse en contacto con nosotros. Con el formulario que le ofrecemos a continuaci&oacute; n puede hacernos llegar sus inquietudes. </p> <p>O si lo prefiere puede ponerse en contacto con el centro con el siguiente tel&eacute;fono: 96 168 00 76</p> <form id="form2" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"> <p> Introduzca su e-mail <input type="text" name="Mail" value="<?php echo $_POST["Mail"] ?> "/> </p> <p>Introduzca el mensaje que desee enviar: </p> <p> <textarea name="Texto" cols="50" rows="8"><?php echo $_POST[ "Texto"] ?></textarea> </p> <p> <input type="submit" name="Submit" value="Enviar" /> </p> </form> <?php

?> <p>&nbsp;</p></td> <td class="imagenEmail">&nbsp;</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.php"> <p>

E.T.S. de Informática Aplicada (U.P.V.)

151

de Informática Aplicada (U.P.</p></td> 85 <td colspan="2" class="noticias"><h3>Noticias</h3> 86 <?php 87 88 noticias().V.Vicente Sancho Guijarro Proyecto Final de Carrera 74 <label>Login 75 <input type="text" name="log" /> 76 </label> 77 <label>Password 78 <input type="password" name="pass" /> 79 </label> 80 <label> 81 <input type="submit" value="Identificarse" name="b" /> 82 </label> 83 </p> 84 </form> <p>&nbsp. 89 ?></td> 90 </tr> 91 </table> 92 </body> 93 </html> E.T.S.) 152 .

php">Equipo directivo</a></li> <li><a href="reglamento. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.w3.php"> <p> <label>Login <input type="text" name="log" /> </label> <label>Password <input type="password" name="pass" /> </label> <label> <input type="submit" value="Identificarse" name="b" /> </label> </p> </form> <p>&nbsp.php">Historia</a></li> <li><a href="equipoDirectivo.php">Localizaci&oacute.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".rincondelvago.Vicente Sancho Guijarro Proyecto Final de Carrera Enlaces.</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin. ?></td> </tr> </table> </body> </html> E.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.es">Conselleria d'Educaci&oacute.php">Contactar</a></li> <li><a href="#">Enlaces</a></li> </ul> </td> <td class="general"><h1>Enlaces de inter&eacute. org/TR/xhtml1/DTD/xhtml1-strict.quera</a> </p> <h3>Recursos educativos </h3> <p><a href="www.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.T.cult.com">Ayuntamiento de N&agrave. de Informática Aplicada (U.gva.</a> </p> <p><a href="www.dtd"> <html xmlns="http://www.S./js/fecha.n</a></p> <p><a href="www.V.P."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp.es">Ministerio de Educaci&oacute.js"> </script> <link href="css/principal.n del vago</a> </p>< /td> <td class="imagenEnlaces">&nbsp.</p></td> <td colspan="2" class="noticias"><h3>Noticias</h3> <?php noticias().0 Strict//EN" "http://www.php").</td> </tr> <tr> <td class="fecha">&nbsp.php">Reglamento</a></li> <li><a href="calendario.</td> <td colspan="2" class="titulo">&nbsp.php">Calendario escolar</a></li> <li><a href="localizacion.php">Inicio</a></li> <li><a href="historia.mec.w3. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.n</a></li> <li><a href="contactar.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 <?php require_once ("Anonimo_inc.com">El Rinc&oacute.) 153 .s </h1> <h3>Institucionales</h3> <p><a href="www.naquera.

) 154 .w3.org/TR/xhtml1/DTD/xhtml1-transitional.T.dtd"> <html xmlns="http://www.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.Vicente Sancho Guijarro Proyecto Final de Carrera Prohibido.S. de Informática Aplicada (U.P.php">inicio</a> </body> </html> E. </p> Volver al <a href="/webcole/index.php 1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. charset=iso-8859-1" /> <title>Documento sin t&iacute.tulo</title> </head> <body> <p>Acceso prohibido.V. w3.

$sec = siguiente($secretario)." ". secretario S. $res=consulta($sql.$je[ "email"].$conn).php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "bd." ". director D. // DIRECTOR $sql="SELECT * FROM usuario U." < /span>".login = E. $dir = siguiente($director)."</a></p>"). //SECRETARIO $sql="SELECT * FROM usuario U.$dir["apellido1"]. echo tohtml("<p>E-mail: <a href='mailto:"." ". "< /p>").Vicente Sancho Guijarro Proyecto Final de Carrera Anonimo_inc. echo tohtml("<p>Horario de atenci&oacute.$sec["apellido1"].$conn).$je["nombre"]. } desconectar($conn). $mailAdmin = $res["email"]. $res=siguiente($res).S. echo tohtml("<p>". function equipo_directivo() { $conn = Conectar(). echo "<hr />".$sec["email"].$dir["nombre"]. } function noticias() { $conn=Conectar(). $je = consulta($sql."'>".n: " . $je["horario"] . "</p> ").sacarFecha($row["fecha"]). echo tohtml("<p>Horario de atenci&oacute. "< /p>"). echo "<p style='font-weight: bold."'>".$je[ "apellido2"].$sec[ "email"].$je["email"]." ". echo "<p style='font-weight: bold. echo tohtml("<p>". de Informática Aplicada (U. echo tohtml("<p>E-mail: <a href='mailto:".$dir["email"].login AND D. echo "<p style='font-weight: bold. echo tohtml("<p>E-mail: <a href='mailto:".login".tohtml($row["descripcion"]).n: " . $sql="SELECT * FROM administrador". $sql="SELECT * FROM evento WHERE titulo = 'Noticia' ORDER BY idevento DESC". font-size:22px'>Secretario: </p>".$conn).P. equipodirectivo E WHERE U."</a></p>")." </p>"."</p>"). $director = consulta($sql." ".php".$conn).) 155 .V.login=E. jefeestudio J. echo tohtml("<p>Horario de atenci&oacute."'>". //JEFE DE ESTUDIOS $sql="SELECT * FROM usuario U. for($i=0. equipodirectivo E WHERE U.login".$sec[ "apellido2"]. $secretario = consulta($sql. $sec["horario"] . $dir["horario"] .$dir[ "apellido2"]. echo tohtml("<p>".$sec["nombre"].$dir[ "email"]. desconectar($conn). } function mandar_correo() { $conn=Conectar(). font-size:22px'>Jefe de Estudios: </p>". $je = siguiente($je).T. echo "<p><span class='fechaNoticia'>". $i<3 || $i<numeroFilas($res).login AND J.$conn). font-size:22px'>Director: </p>"."</p>"). if(isset($_POST["Mail"]) && $_POST["Mail"] != "") { E.login AND S." ". equipodirectivo E WHERE U. echo "<hr />".$je["apellido1"].login = E."</p>").n: " ."</a></p>").login".login = J. $res=consulta($sql.$i++) { $row = siguiente($res). login = D.login = S.

ha ocurrido un error. Le contestaremos con la mayor brevedad posible. $_POST["Texto"].V.S.</p>".T. E. else echo "<p>Lo siento.</p>". "From: ". } else if($HTTP_POST_VARS) echo "<p>Debe rellenar todos los campos.P. desconectar($conn).</p>". "Consulta de la Web".Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 } 85 86 ?> Proyecto Final de Carrera if(@mail($mailAdmin.$_POST['Mail'])) echo "<p>Gracias por ponerse en contacto con nosotros. de Informática Aplicada (U.) 156 .

$conn). 54 } 55 56 57 desconectar($conn).php'). 6 $sql = 'SELECT * FROM usuario'. 35 while($row3 = siguiente($resultado3)) 36 { 37 if($_POST['log'] == $row3['login']) 38 { 39 40 $_SESSION["tipo"] = "Alumno". 34 $resultado3 = consulta($sql3. 52 echo '<script language="Javascript"> alert("Autenticación errónea"). //Guardamos el cookie con 16 el nombre del usuario conectado 17 $_SESSION["id"] = $row["login"]. 41 header('Location: intranetAlumno. de Informática Aplicada (U. 'Error'. time()+1). 8 while($row = siguiente($resultado)) 9 { 10 if($_POST['pass'] == $row['contrasenya'] && $_POST['log'] == $row[ 11 'login']) 12 { 13 $ok = 1. 28 break.php").P.V. 27 header('Location: intranetProfe.php"). 5 $conn = conectar().T. 29 } 30 } 31 32 //Comprobamos si es alumno 33 $sql3 = 'SELECT * FROM alumno'. 42 } 43 } 44 } 45 } 46 47 48 if($ok == 0) 49 { 50 setcookie('login'. 14 15 //setcookie('log'. 51 header("Location: index. $conn).) 157 . 20 $resultado2 = consulta($sql2.S. 4 include("bd.Vicente Sancho Guijarro Proyecto Final de Carrera Analizadorlogin. 18 //Comprobamos si es profesor 19 $sql2 = 'SELECT * FROM profesor'. $row['login']).php'). 21 while($row2 = siguiente($resultado2)) 22 { 23 if($_POST['log'] == $row2['login']) 24 { 25 //mysql_close($dp). 53 </script>'. 58 ?> E. $conn).php 1 <?php 2 $ok = 0. 7 $resultado = consulta($sql. 26 $_SESSION["tipo"] = "Profesor". // se han encontrado en la base de datos 3 session_start().

{ if (!($link=mysql_connect("localhost"."cole1".'É'.$hora[0]).$hora[2].'Ñ'. } function sacarDiaMes($fecha_datetime) { $fecha = split("-". $fecha_convertida=$fecha_hora[0] ."webcole"))) { echo "Error conectando a la base de datos. //cierra la conexion } //Esta función convierte la fecha del formato DATETIME de SQL //a formato DD-MM-YYYY HH:mm:ss function convertir_fecha($fecha_datetime) { $fecha = split("-". '-' .'Ú'.$hora[1]. $c).$fecha[2]).'à'.$fecha[2]). '-' . return $fecha_convertida. $fecha_hora=split(" ".'ú'.S. } //Devuelve solo la fecha de un datetime function sacarFecha($fecha_datetime) { $fecha = split("-". de Informática Aplicada (U.V.Vicente Sancho Guijarro Proyecto Final de Carrera Bd.".':'. } function numeroFilas($res) { return mysql_num_rows($res).P. return $fecha_convertida. return $fecha_convertida.'ó'.'í'. $fecha[0].php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php function Conectar() //realiza la conexion con la base de datos. exit().$fecha[1]. $c) { $res = mysql_query($sql.$fecha_datetime).".$fecha_datetime). '-' . $fecha[1]. } function consulta($sql.'-'. $fecha[1] .$hora[0]). $hora = split(":". $fecha_hora=split(" ". } return $link. return $res. $hora = split(":".$fecha[0]. $fecha_hora=split(" ".'ñ'. } //Reemplaza en un texto las tildes y caracteres especiales por su equivalente en html function tohtml($texto) { $especial=array('á'.'é'. $fecha_convertida=$fecha_hora[0] .$fecha[2]).':'.'-'. E.'Ó'.T.$fecha_datetime).) 158 . } if (!mysql_select_db("webcole". $fecha_hora[1]. exit().'Í'.' '.$link)) { echo "Error seleccionando la base de datos. $fecha_convertida=$fecha_hora[0]. $hora = split(":".'Á'.'è'. } function Desconectar($link) { mysql_close($link).$hora[0]). } function siguiente($res) { return mysql_fetch_assoc($res).

return str_replace($especial.'.'&Iacute. // Finalmente.) 159 .'. borrando los datos que hubiera en ella function cerrarSesion () { // Destruye todas las variables de la sesi&oacute.'&Oacute.'.'&Eacute. } //cierra la sesion del usuario.'. '&ntilde.'.'&egrave.n session_unset().'. '&Ograve.$traducir.'.'&agrave. '&Ntilde.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 Proyecto Final de Carrera 'ò'.'Ò').'.P.V.'&Aacute.'.'.n session_destroy().'&Uacute.'&eacute.'&Agrave.T. de Informática Aplicada (U. destruye la sesi&oacute.'). $traducir=array('&aacute.'&iacute.'. } ?> E.'.'&ograve.'.'À'.'.'.S.$texto).'.'&oacute.'&Egrave.'È'.'.'&uacute.

php".V. 3 header("Location: /webcole/index.php 1 <?php 2 require_once "profesor_inc. de Informática Aplicada (U. 3 include("bd.php").URL=index.P.S.) 160 .php 1 <?php 2 session_start(). 5 ?> 6 <head> 7 <meta http-equiv="refresh" content="1.Vicente Sancho Guijarro Proyecto Final de Carrera Cerrar_sesion_alumno. 4 ?> E.php").T.php"> 8 </head> Cerrar_sesion. 4 cerrarSesion().

de Informática Aplicada (U. mktime(0. function calcula_numero_dia_semana($dia.V. if ($numerodiasemana == 0) $numerodiasemana = 6.$dia. $ano_hoy=date("Y"). } else { E.$ano){ $ultimo_dia=28. break.Vicente Sancho Guijarro Proyecto Final de Carrera calendarioscript. case 5: $nombre_mes="Mayo". break. } function mostrar_calendario($dia. case 2: $nombre_mes="Febrero".$mes. case 11: $nombre_mes="Noviembre". case 8: $nombre_mes="Agosto". } function dame_nombre_mes($mes){ switch ($mes){ case 1: $nombre_mes="Enero".P.$ano)){ $ultimo_dia++.S. } return $nombre_mes.$ano){ $mes_hoy=date("m"). case 12: $nombre_mes="Diciembre". break. while (checkdate($mes.$mes. break. case 10: $nombre_mes="Octubre". break. return $numerodiasemana.php").$ultimo_dia + 1.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 <?php include_once("bd. case 4: $nombre_mes="Abril". } //funcion que devuelve el último día de un mes y año dados function ultimoDia($mes. if (($mes_hoy <> $mes) || ($ano_hoy <> $ano)) { $hoy=0. break. break. break. case 7: $nombre_mes="Julio".0. break. break.$ano)).$mes.0.$ano){ $numerodiasemana = date('w'.) 161 . break.T. case 6: $nombre_mes="Junio". break. else $numerodiasemana--. } return $ultimo_dia. case 3: $nombre_mes="Marzo". case 9: $nombre_mes="Septiembre".

94 php?dia=$dia&amp.Vicente Sancho Guijarro Proyecto Final de Carrera 76 $hoy=date("d")." class="altn">Mi< 116 /td> 117 <td style="width: 14%. 98 echo "<td style='text-align: right . font-size:10pt. 133 134 //calculo el último dia del mes 135 $ultimo_dia = ultimoDia($mes.P. 99 color:white'>".font-weight:bold. 77 } 78 //tomo el nombre del mes que hay que imprimir 79 $nombre_mes = dame_nombre_mes($mes).' class='tit'>$nombre_mes $ano< 97 /td>". 152 } E. 144 } else { 145 if (($i == 5) || ($i == 6)) 146 { 147 if ($dia_actual == $hoy) 148 { 149 echo "<td class='da'><a href='calendario. 96 echo "<td style='text-align: center . 102 $ano_siguiente = $ano. 150 php?dia=$dia_actual&amp.text-decoration:none' href='calendario.text-align: center . de Informática Aplicada (U.</a></td>". 106 } 107 echo "<a style='color:white.text-decoration:none' href='calendario.nuevo_mes=$mes_siguiente&amp.T.&lt.$i++){ 140 if ($i < $numero_dia){ 141 //si el dia de la semana i es menor que el numero del primer 142 dia de la semana no pongo nada en la celda 143 echo "<td></td>". 139 for ($i=0. 100 //calculo el mes y ano del mes siguiente 101 $mes_siguiente = $mes + 1. 86 //calculo el mes y ano del mes anterior 87 $mes_anterior = $mes .$i<7." class="altn">Sa< 122 /td> 123 <td style="width: 14%." class="altn">Do< 124 /td> 125 </tr>'.text-align: center .) 162 .font-weight:bold.$ano). 103 if ($mes_siguiente==13){ 104 $ano_siguiente++.V.S.text-align: center . 92 } 93 echo "<a style='color:white. 151 nuevo_ano=$ano'>$dia_actual</a></td>".1. 89 if ($mes_anterior==0){ 90 $ano_anterior--.text-align: center .nuevo_mes=$mes&amp." class="altn">Ju< 118 /td> 119 <td style="width: 14%. 129 130 //calculo el numero del dia de la semana del primer dia 131 $numero_dia = calcula_numero_dia_semana(1.nuevo_mes=$mes_anterior&amp.nuevo_ano=$ano_anterior'> 95 &lt. 108 php?dia=$dia&amp.text-align: center . 105 $mes_siguiente=1. 88 $ano_anterior = $ano. 80 81 //construyo la cabecera de la tabla 82 echo "<table width='200px' cellspacing='3' cellpadding='2' border='0'>< 83 tr><td colspan='7' style='text-align: center ." class="altn">Ma< 114 /td> 115 <td style="width: 14%. 126 127 //Variable para llevar la cuenta del dia actual 128 $dia_actual = 1.</a></td></tr></table></td></tr>".text-align: center .$mes.nuevo_ano=$ano_siguiente'> 109 &gt.color:white'>".' class='tit'>". 110 echo ' <tr> 111 <td style="width: 14%." class="altn">Vi< 120 /td> 121 <td style="width: 14%." class="altn">Lu< 112 /td> 113 <td style="width: 14%. 84 echo "<table width='100%' cellspacing='2' cellpadding='2' border='0'>< 85 tr><td style='font-size:10pt. 132 //echo "Numero del dia de demana del primer: $numero_dia <br>".&gt. 136 137 //escribo la primera fila de la semana 138 echo "<tr>".text-align: center .$ano). 91 $mes_anterior=12.

php?dia=$dia_actual&amp. if($dia_actual == $fecha[0] && $mes == $fecha[1] && ($fecha[2] == "2000" || $fecha[2] == $ano)) { echo "<td class='curso'><a href='calendario.nuevo_mes=$mes&amp. } } $sql = "SELECT * FROM evento WHERE NOT titulo = 'Festivo' AND NOT titulo='Noticia'". } else { echo "<td class='fs'><a href='calendario. php?dia=$dia_actual&amp. nuevo_ano=$ano'>$dia_actual</a></td>". E. php?dia=$dia_actual&amp. while($row = siguiente($res)) { $fecha = split("-". $sql = "SELECT * FROM evento WHERE titulo = 'Festivo'".nuevo_mes=$mes&amp.nuevo_mes=$mes&amp. $escrito=1.T.sacarFecha($row["fecha"])).nuevo_mes=$mes&amp. } } } $dia_actual++.$conn).Vicente Sancho Guijarro 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 Proyecto Final de Carrera else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class='da'><a href='calendario. php?dia=$dia_actual&amp. nuevo_ano=$ano'>$dia_actual</a></td>". } else { $escrito=0.nuevo_mes=$mes&amp. while($row = siguiente($res)) { $fecha = split("-". break.P. nuevo_ano=$ano'>$dia_actual</a></td>". break. if($escrito==0) { echo "<td style='text-align: center . nuevo_ano=$ano'>$dia_actual</a></td>". } } else { if ($dia_actual == $hoy) { echo "<td class='da'><a href='calendario. php?dia=$dia_actual&amp. nuevo_ano=$ano'>$dia_actual</a></td>". $res = consulta($sql. $conn=Conectar().S. } } echo "</tr>". $res = consulta($sql. } } Desconectar($conn).$conn). php?dia=$dia_actual&amp.nuevo_mes=$mes&amp.) 163 .V. } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class='da'><a href='calendario.' class='laborable'><a href='calendario.nuevo_mes=$mes&amp. de Informática Aplicada (U. nuevo_ano=$ano'>$dia_actual</a></td>".sacarFecha($row["fecha"])). nuevo_ano=$ano'>$dia_actual</a></td>". php?dia=$dia_actual&amp. $escrito=1. if($dia_actual == $fecha[0] && $mes == $fecha[1] && ($fecha[2] == "2000" || $fecha[2] == $ano)) { echo "<td class='fs'><a href='calendario.

while ($dia_actual <= $ultimo_dia){ //si estamos a principio de la semana escribo el <TR> if ($numero_dia == 0) echo "<tr>".V. E. de Informática Aplicada (U.nuevo_mes=$mes&amp.nuevo_mes=$mes&amp. while($row = siguiente($res)) { $fecha = split("-". php?dia=$dia_actual&amp.) 164 . if($dia_actual == $fecha[0] && $mes == $fecha[1] && ($fecha[2] == "2000" || $fecha[2] == $ano)) { echo "<td class='curso'><a href='calendario. while($row = siguiente($res)) { $fecha = split("-". break.sacarFecha($row["fecha"])). php?dia=$dia_actual&amp.nuevo_mes=$mes&amp. nuevo_ano=$ano'>$dia_actual</a></td>". php?dia=$dia_actual&amp.Vicente Sancho Guijarro 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 Proyecto Final de Carrera //recorro todos los demás días hasta el final del mes $numero_dia = 0. php?dia=$dia_actual&amp. php?dia=$dia_actual&amp. nuevo_ano=$ano'>$dia_actual</a></td>".$conn). $res = consulta($sql. //si es el uñtimo de la semana. } } $sql = "SELECT * FROM evento WHERE NOT titulo = 'Festivo' AND NOT titulo='Noticia'". $res = consulta($sql.T. nuevo_ano=$ano'>$dia_actual</a></td>".nuevo_mes=$mes&amp. nuevo_ano=$ano'>$dia_actual</a></td>".nuevo_mes=$mes&amp. $sql = "SELECT * FROM evento WHERE titulo = 'Festivo'".nuevo_mes=$mes&amp. $escrito=1. } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class='da'><a href='calendario. nuevo_ano=$ano'>$dia_actual</a></td>". $escrito=1. } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class='da'><a href='calendario.nuevo_mes=$mes&amp. nuevo_ano=$ano'>$dia_actual</a></td>". me pongo al principio de la semana y escribo el </tr> if (($numero_dia == 5) || ($numero_dia == 6)) { if ($dia_actual == $hoy) { echo "<td class='da'><a href='calendario.$conn). nuevo_ano=$ano'>$dia_actual</a></td>".S. if($dia_actual == $fecha[0] && $mes == $fecha[1] && ($fecha[2] == "2000" || $fecha[2] == $ano)) { echo "<td class='fs'><a href='calendario. php?dia=$dia_actual&amp.sacarFecha($row["fecha"])). } else { echo "<td class='fs' ><a href='calendario. php?dia=$dia_actual&amp.P. } } else { if ($dia_actual == $hoy) { echo "<td class='da'><a href='calendario. } else { $escrito=0. $conn=Conectar().

' class='laborable'><a href='calendario.$i<7. if($escrito==0) { echo "<td style='text-align: center . if ($numero_dia == 7) { $numero_dia = 0. echo "</tr>".S. de Informática Aplicada (U.P. } echo "</tr>".) 165 . E. echo "</table>".Vicente Sancho Guijarro 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 } break. $numero_dia++.$i++){ echo "<td></td>". nuevo_ano=$ano'>$dia_actual</a></td>". php?dia=$dia_actual&amp. } Proyecto Final de Carrera } Desconectar($conn). } } //compruebo que celdas me faltan por escribir vacias de la última semana del mes for ($i=$numero_dia.T.V. } } } $dia_actual++.nuevo_mes=$mes&amp.

S. $tabla[$i++]["normas"] = "Normas no encontradas". $tabla = null. define (ALUM. } //devuelve una tabla con el id de las instalaciones. function listado_reservas_instalaciones() { $link = Conectar(). define (EQUIP.) 166 . //El usuario se obtiene de la sesion iniciada //Acceso: // idinst => id de la instalacion // instalacion => nombre de la instalacion // normas => ruta para llegar a las normas de la instalacion // (no contiene las normas. $tabla[$i]["proposito"] = $fila["proposito"].P.T. "EQUIPACION"). "'". define (INST.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_inc. $res_ins = consulta ($sql_ins. if ($ins) { $tabla[$i]["idinst"] = $ins["idinstalacion"]. return $tabla. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. $sql_ins = "SELECT * FROM instalacion WHERE idinstalacion = '" . apunta al fichero // que las tiene) function listado_instalacion() { $link = Conectar(). "INSTALACION"). $sql = "SELECT * FROM res_ins WHERE login = '" . $ins = siguiente($res_ins). //Devuelve una tabla con las reservas de instalaciones que //ha efectuado el usuario. "Alumno"). } else { $tabla[$i]["idinst"] = -1. //ejecutamos la consulta $resultado = consulta ($sql. $fila["idinstalacion"] . //$tabla[$i]["fecha"] = $fila["fecha"]. $link). de Informática Aplicada (U. //ejecutamos la consulta E. while ($fila = siguiente($resultado)) { $tabla[$i]["fecha"] = $fila["fecha"]. $link). apunta al fichero // que las tiene) // fecha => fecha de la reserva con formato "mm-dd-aa hh:mm:ss" // proposito => Motivo de la reserva (introducido por el usuario // cuando realiza la reserva."'". $_SESSION["id"] . $tabla[$i]["instalacion"] = "Instalacion desconocida". } } Desconectar ($link). //el nombre de la instalacion y las normas //Acceso: // idinstalacion => id de la instalacion // instalacion => nombre de la instalacion // normas => ruta para llegar a las normas de la instalacion // (no contiene las normas. $tabla[$i++]["normas"] = $ins["normas"].V. $tabla[$i]["instalacion"] = $ins["instalacion"]. $sql = "SELECT * FROM instalacion".php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 <?php require_once "bd.php".

`idequipacion`=$iditem" . fecha(dia.$dia. } //Obtiene los dias en que esta reservado una instalacion dada //Devuelve una tabla con las fechas //Acceso: // dia // mes // anyo //Parametros recibido // id de una instalacion function fecha_reservas($iditem. return $tabla. } Desconectar ($link). $mes . de Informática Aplicada (U. $trozo = explode ("-". } //Permite hacer una reserva //Recibe como parametros //Login del usuario. return $tabla. while ($fila = siguiente($resultado)) { $tabla[$i]["idinstalacion"] = $fila["idinstalacion"]. $seg.`idinstalacion`=$iditem" . $tabla[$i]["instalacion"] = $fila["instalacion"].S. mes. Proyecto Final de Carrera //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. $dia . anyo) y hora(hora. $hora . $tabla[$i++]["normas"] = $fila["normas"]. } $result = consulta ($sql. $item) { $fecha = $anyo . $fecha . ": " .T.$min. $tabla[$i++]["anyo"] = $trozo[2]. $link). while ($fila = siguiente($result)) { $fecha = sacarFecha($fila["fecha"]). if ($item == INST) { $sql = "SELECT fecha FROM `res_ins` WHERE `res_ins`. $seg.$mes. seg) //el codigo del item a reservar (puede ser una instalacion o un //equipamiento y el motivo //Devuelve: // True si reveserva se pudo hacer // Falso en caso contrario function reservar_instalacion($login. "-" . "\n<br>". E. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. $link).$hora. //echo " fecha: " . } else { $sql = "SELECT fecha FROM `res_equi` WHERE `res_equi`. $tabla[$i]["mes"] = $trozo[1]. "-" . min. $tabla[$i]["dia"] = $trozo[0]. $item) { if ( !isset($iditem) || $iditem == -1) { return.$anyo. $fecha). ":" .V. $min . } $link = Conectar().$iditem. } Desconectar ($link). " " .) 167 .P. $tabla.Vicente Sancho Guijarro 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 $resultado = consulta ($sql.$motivo.

} else E. `idequipacion`. } $result = consulta ($sql. */ if ($item == INST) { $sql = "INSERT INTO `webcole`. '$motivo'). de Informática Aplicada (U. `fecha`.a sido eliminada". `proposito`) VALUES (\'$login\'. \'$idins\'.".". if($result) { $filas = mysql_affected_rows(). } else { $sql = "DELETE FROM `res_equi` WHERE CONVERT(`res_equi`.`idinstalacion`=$iditem AND `res_ins`. $link). /*$sql = "INSERT INTO `webcole`. $link = Conectar().". echo "error: " . '$fecha'. `proposito`) VALUES ('$login'. $item) { $link = Conectar(). '$iditem'. } else { $sql = "INSERT INTO `webcole`. `fecha`. if ( $filas == 0 ) { //echo "La reserva ya hab&iacute. mysql_error($link). $fecha. '$motivo').`login` USING utf8)='$login' AND `res_ins`. } //Esta funcion elimina una reserva del usuario dado una fecha y el //id del item y el tipo (instalacion o equipamiento function anular_reserva($login.) 168 . } $result = consulta ($sql.`fecha`='$fecha' ". \'$fecha\'.T. Proyecto Final de Carrera return $result. if ($item == INST) { $sql = "DELETE FROM `res_ins` WHERE CONVERT(`res_ins`. $link).`res_ins` (`login`. `idinstalacion`.`res_equi` (`login`. $iditem.`login` USING utf8)='$login' AND `res_equi`. \'$motivo\').`idequipacion`=$iditem AND `res_equi`. `fecha`.`fecha`='$fecha' ". $correcto =false.P. $correcto =false. `idinstalacion`.Vicente Sancho Guijarro 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 echo "fecha vale: $fecha<br>\n". `proposito`) VALUES ('$login'.S. '$iditem'.`res_ins` (`login`. '$fecha'.V.

while($row = siguiente($faltas)) { $sql = "SELECT nombre FROM asignatura WHERE codigoasignatura = '". else echo "<td>S&Iacute. Proyecto Final de Carrera //echo"<p>Operacion NO efectuada</p>\n". echo "<td>".sacarFecha($row["fecha"]). $sql = "SELECT * FROM faltaasistencia WHERE alumno = '". echo "<tr>".$fecha[2]. if(numeroFilas($faltas) == 0) echo "El alumno no tiene ninguna falta de asistencia. de Informática Aplicada (U. while($row = siguiente($resultado)) echo 'Bienvenido ' . if($row["justificada"] == 0) echo "<td>NO</td>".$i++) echo "<p><span class='fechaNoticia'>"." </p> ".sacarFecha($row[ "fecha"]).</td>". echo "</tr>".V. $asignatura = siguiente($asignatura). else { echo "<table width='100%' border='1'>". $res=consulta($sql. $_SESSION[ "id"] . } } else { ha sido eliminada".tohtml($asignatura["nombre"]). //echo"<p>Error: " .$conn).S.sacarFecha($row["fecha"])).'"'."' ORDER BY fecha". $correcto =false.$fecha[1]. $fechaComparar = "". echo "<th scope='row'>". E. return $correcto. desconectar($dp).T. if($fechaComparar >= date("Ymd")) for($i=0. } Desconectar ($link).tohtml($row["descripcion"]). //echo"SQL: $sql". } desconectar($conn).$conn). echo "</tr>". } function rellenar_tabla_faltas() { $conn = Conectar(). echo "<th scope='col'>Asignatura</th>". echo "<tr>". $row['nombre']. echo "<th scope='col'>Justificada</th>". "</p>\n". $dp)."</th>". $asignatura = consulta($sql.".$_SESSION[ "id"]. $i<3 && $i<numeroFilas($res).) 169 ."'".Vicente Sancho Guijarro 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 { //echo "La reserva $correcto =true. } function rellenar_eventos_curso() { $conn = Conectar().$conn). mysql_error($link) .$row["asignatura"]. $sql="SELECT * FROM evento WHERE titulo = 'Curso' ORDER BY fecha". } function bienvenido() { $dp = Conectar()."</td>". $resultado = consulta($sql. $faltas = consulta($sql. $sql = 'SELECT * FROM usuario WHERE login ="' . echo "<th scope='col'>Fecha</th>". while($row = siguiente($res)) { $fecha=split("-"." </span>".P.$fecha[0].

"</td>".login = A.tohtml($row["apellido1"].". } function rellenar_tabla_alumnos() { $conn = Conectar().$row["telefono"]. } desconectar($conn).) 170 . $row = consulta($sql. echo "<p>Letra: ". ". apellido2".$anyo_ant.letra".Vicente Sancho Guijarro 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 } echo "</table>". grupo G WHERE U. if ($res) { $sql = "SELECT * FROM usuario U. $_SESSION[ "id"] ."' AND A.letra = '"." ."</td>".$res["letra"] . $conn). $sql1 = "SELECT * FROM alumno where login='" .$row["nombre"]).curso = G. while($row = siguiente($alumnos)) { echo "<tr>".tohtml($row["direccion"]). } } E.". ". "</p>". } else { $anyo_pos = date("Y") + 1.login = G.letra = G.$row["apellido2"]."' AND U. $res = siguiente($res)."' ORDER BY apellido1. echo "Curso: ".date("Y").P.login AND A.$row["nombre"])." ". $sql = "SELECT * FROM usuario U. echo "<p>Aula: "." ". $a = consulta($sql1.S. } Proyecto Final de Carrera function poner_datos_grupo() { $conn = Conectar()." .login = '". echo "<td>".$res["aula"] . // Delegado $sql = "SELECT * FROM usuario U. echo "Curso: ".$res["letra"].login = A. de Informática Aplicada (U. echo "<p>Delegado: ".tohtml($row["apellido1"]."</td>".login AND A. grupo G WHERE U. } } desconectar($conn). "</p>". "</p>".1. $alumnos = consulta($sql.tohtml($row["poblacion"]). echo "<p>Tutor: "."</p>"." ".$conn).$conn).$row["apellido2"]. alumno A. delegado". $conn). echo "<td>". $row = consulta($sql. grupo G WHERE U.$_SESSION["id"]."</p>". $row = siguiente($row).tohtml($row["apellido1"]. } function curso_actual() { if(date("m")<9) { $anyo_ant = date("Y") . $row = siguiente($row). $res = consulta($sql.$anyo_pos.date("Y").$res["curso"] . ".curso AND A. echo "<p>Curso: ".curso = '". desconectar($conn). echo "</tr>". $conn)."</td>".". echo "<td>". "."'". echo "<td>".$res["curso"].$row["nombre"]).T.V.login = G.". $res = siguiente($a). // Tutor $sql = "SELECT * FROM usuario U.$row[ "apellido2"].tutor". alumno A WHERE U.

login = '" .</td>".$conn). echo "<td>". asignatura A.$_SESSION["id"] .profesor = P.asignatura AND IM. $asignatura = consulta($sql.curso = G.tohtml($row["nombre"]).$grupo["letra"]. echo "<tr>".curso = '". de Informática Aplicada (U. while($row=siguiente($res)) { echo "<tr>". echo "</tr>". trimestre". echo "<th scope='row'>". trimestre". echo "<td>&nbsp. echo "<td>".T.V. echo "</tr>".$grupo["curso"].S. $mes = date("m"). $_SESSION["id"]."' AND curso LIKE '".$row["nota"]. } if($row["trimestre"] == 3) { $ultimo_trimestre = 3.tohtml($asignatura["nombre"]).date("Y")."< /th>". $ultimo_trimestre = 1."' AND A.login ORDER BY nombre". } if($row["trimestre"] == 2) { $ultimo_trimestre = 2."' AND curso LIKE '%"."'". echo "</tr>". } function rellenar_tabla_profesores() { $conn = Conectar(). while($row = siguiente($notas)) { if($row["trimestre"] == 1) { if($ultimo_trimestre == 1) { echo "<td>&nbsp.$row["asignatura"]."</td>"."</td>". echo "<td>".$_SESSION["id"] . grupo G WHERE A."'". //Obtenemos el grupo $grupo = consulta($sql.$conn). profesor P WHERE I.curso AND A. codigoasignatura AND A."</td>". } if($ultimo_trimestre == 2) { echo "<td>&nbsp. $sql = "SELECT * FROM alumno A."</td>". echo "<td>". } } desconectar($conn).$row["nota"]. else $sql = "SELECT * FROM nota WHERE alumno = '".P."' ORDER BY asignatura.letra = G. $notas = consulta($sql.codigoasignatura = IM. echo "sql vale: $sql<br>\n". $sql = "SELECT * FROM usuario WHERE login = '". $res = consulta($sql. letra ". } $sql = "SELECT nombre FROM asignatura WHERE codigoasignatura = '".) 171 .$conn).Vicente Sancho Guijarro 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 Proyecto Final de Carrera function rellenar_tabla_notas() { $conn = Conectar(). $sql = "SELECT * FROM impartida I. $grupo = siguiente($grupo)."' AND I. if($mes<9) $sql = "SELECT * FROM nota WHERE alumno = '".$row["nota"].</td>".asignatura = A. E.</td>".$conn)."' AND I. imparte IM. letra = '". $ultimo_trimestre = 0.$row[ "login"]."%' ORDER BY asignatura.date("Y"). $asignatura = siguiente($asignatura).

} desconectar($conn).tohtml($row["texto"]).".$profe["nombre"]). $anuncios = consulta($sql. $row = siguiente($resultado). " " . de Informática Aplicada (U." </p><br/>". //echo "<tr>".T. $conn). echo "<td>".tohtml($row["tutorias"]). echo "<td><a href='mailto:"."</td>".P.$profe[ "apellido2"].'"'. $sql = "SELECT * FROM usuario WHERE login = '".tohtml($row["titulo"] ). echo "</tr>". $usuario = consulta($sql. $sql = "SELECT * FROM anuncio ORDER BY idanuncio DESC".</td>". $sql = 'SELECT * FROM usuario WHERE login ="' .$row[ "fecha"].V.$row["login"].) 172 . echo "<tr>". $_SESSION[ "id"] . $profe = siguiente($profe). ". echo "<td class='general'><p class='anuncioTitulo'>". //echo "<td colspan='2' class='general'>&nbsp. //echo "</tr>". ". desconectar($dp). echo "<td class='general'><p class='anuncio'><span class='anuncioTexto'> ". echo "</tr>". echo "<span class='anuncioNombre'>".tohtml( $usuario["apellido1"]). $row['nombre']). while($row = siguiente($anuncios)) { if($anuncios_mostrados >= $anuncios_amostrar) break. " . $anuncios_mostrados++. echo tohtml($row['apellido1'] . echo "<tr>"."</td>"."</span></p></td>". $dp)." ".S.Vicente Sancho Guijarro 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 Proyecto Final de Carrera $profe = consulta($sql. $row['apellido2'] . $anuncios_mostrados = 0. $resultado = consulta($sql."'>".$conn). } function poner_anuncios_tablon() { $conn = Conectar().</td>"."</span> <span class='anuncioFecha'>. tohtml($row["email"]). echo "<td class='general'>&nbsp.".tohtml($usuario["nombre"]). } desconectar($conn). echo "<td class='general'>&nbsp. $anuncios_amostrar = 10.tohtml($row["email"]). echo "<td>"."</span> </td>". $usuario = siguiente($usuario).tohtml($profe["apellido1"]. if($anuncios_mostrados>=3) echo "<td></td>"." ".$conn).</td>"."'". echo "</tr>". } ?> E."</a></td>". } function nombre_conectado() { $dp = Conectar().

T.php">Horario</a></li> <li><a href="Alumno_alumnos.php">Notas</a></li> <li><a href="Alumno_faltas.php">Men&uacute.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="#">Inicio</a></li> <li><a href="Alumno_horario.</td> </tr> <tr> <td> <p> <?php bienvenido().php"). require_once ("Alumno_inc.V.0 Strict//EN" "http://www.dtd"> <html xmlns="http://www. </p></td> </tr> </table> </body> </html> E.php">Instalaciones</a></li> <li><a href="Alumno_tablon. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.Vicente Sancho Guijarro Proyecto Final de Carrera intranetAlumno. semanal </a></li> <li><a href="Alumno_instalaciones.) 173 .js"> </script> <link href="css/principal.php">Listado profesores </a></li> <li><a href="Alumno_notas. ?> <p>&nbsp.</td> </tr> <tr> <td class="fecha">&nbsp.php">Faltas asistencia </a></li> <li><a href="Alumno_menu." class="logo">&nbsp.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php"). ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1./js/fecha.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".w3.P. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.</td> <td colspan="2" class="titulo">&nbsp.w3. org/TR/xhtml1/DTD/xhtml1-strict.S.php">Listado alumnos </a></li> <li><a href="Alumno_profes.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start(). ?> </p> </td> <td class="general">&nbsp.php">Tabl&oacute. de Informática Aplicada (U.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Intranet alumno </h1> <p> <?php nombre_conectado(). ?> </p> </td> <td colspan="2" class="noticias"><h3>&nbsp.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime()."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.</h3> <h3>Eventos del curso </h3> <?php rellenar_eventos_curso().

php">Men&uacute.php">Listado alumnos </a></li> <li><a href="Alumno_profes."'". $conn).$alumno["letra"].w3./js/fecha. $sql = "SELECT * FROM impartida I.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_horario.</td> </tr> <tr> <td class="fecha">&nbsp.T.asignatura".php">Instalaciones</a></li> <li><a href="Alumno_tablon.</td> <td colspan="2" class="titulo">&nbsp.css" rel="stylesheet" type="text/css" /> <link href="css/Alumno_horario.php"). semanal </a></li> <li><a href="Alumno_instalaciones."' AND I.V. while($row = siguiente($asignaturas)) E.php">Inicio</a></li> <li><a href="Alumno_horario.letra = '".css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno."' AND A. $alumno = siguiente($alumno).n de anuncios </a></li> </ul> </td> <td class="general"><h1>Horario</h1> <?php $conn = Conectar().0 Strict//EN" "http://www."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp.</th> <th scope="col">Lunes</th> <th scope="col">Martes</th> <th scope="col">Mi&eacute. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. asignatura A WHERE I.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. org/TR/xhtml1/DTD/xhtml1-strict. $sql = "SELECT * FROM alumno WHERE login = '".w3.php">Notas</a></li> <li><a href="Alumno_faltas. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido. $alumno["curso"].dtd"> <html xmlns="http://www.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 <?php session_start().$conn). <?php $asignaturas = consulta($sql. de Informática Aplicada (U.) 174 .curso = '".P.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php">Horario</a></li> <li><a href="Alumno_alumnos.php">Tabl&oacute.rcoles</th> <th scope="col">Jueves</th> <th scope="col">Viernes</th> </tr> <tr> <th scope="row">9:00-10:00</th> <td>&nbsp.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.js"> </script> <link href="css/principal.S. $alumno = consulta($sql.php").php">Listado profesores </a></li> <li><a href="Alumno_notas. ?> <table class="tabla" width="100%" border="1"> <tr> <th scope="col">&nbsp. codigoasignatura = I.$_SESSION["id"]. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp. require_once ("Alumno_inc.

$row['horario']). $row['horario']). <?php $asignaturas = consulta($sql. $row['horario']). <?php $asignaturas = consulta($sql. $i < count($horario). while($row = siguiente($asignaturas)) { $horario = split(" ". $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "9") { echo tohtml($row['nombre']). de Informática Aplicada (U.Vicente Sancho Guijarro 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 { Proyecto Final de Carrera $horario = split(" ". break. break. for($i = 0.) 175 . $i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "9") { echo tohtml($row['nombre']). $row['horario']).P. } } } ?> </td> <td>&nbsp.$conn). <?php $asignaturas = consulta($sql.$conn). for($i = 0.$conn). $i+=2) { if($horario[$i] == 'Viernes') E. while($row = siguiente($asignaturas)) { $horario = split(" ". while($row = siguiente($asignaturas)) { $horario = split(" ". while($row = siguiente($asignaturas)) { $horario = split(" ". break.T. $i < count($horario). $i < count($horario). } } } ?> </td> <td>&nbsp. } } } ?> </td> <td>&nbsp.$conn). for($i = 0. $i < count($horario). } } } ?> </td> <td>&nbsp. $i+=2) { if($horario[$i] == 'Martes') if($horario[$i+1] == "9") { echo tohtml($row['nombre']). <?php $asignaturas = consulta($sql. $row['horario']). $i < count($horario). break. for($i = 0. for($i = 0. $i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "9") { echo tohtml($row['nombre']).S.V.

$conn). $i+=2) { if($horario[$i] == 'Martes') if($horario[$i+1] == "10") { echo tohtml($row['nombre']). <?php $asignaturas = consulta($sql.P. while($row = siguiente($asignaturas)) { $horario = split(" ". $row['horario']). break. <?php $asignaturas = consulta($sql.V. for($i = 0. while($row = siguiente($asignaturas)) { $horario = split(" ". $i < count($horario). $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "10") { echo tohtml($row['nombre']). $row['horario']).) 176 . $i < count($horario). $row['horario']). for($i = 0. <?php $asignaturas = consulta($sql. } } } ?> </td> <td>&nbsp. } } } ?> </td> <td>&nbsp. $row['horario']). $i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "10") E. while($row = siguiente($asignaturas)) { $horario = split(" ".Vicente Sancho Guijarro 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 Proyecto Final de Carrera if($horario[$i+1] == "9") { echo tohtml($row['nombre']). } } } ?> </td> <td>&nbsp. <?php $asignaturas = consulta($sql.S. $i < count($horario).$conn). $i < count($horario). break. $i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "10") { echo tohtml($row['nombre']). for($i = 0. break.$conn). while($row = siguiente($asignaturas)) { $horario = split(" ". for($i = 0.T. de Informática Aplicada (U. } } } ?> </td> </tr> <tr> <th scope="row">10:00-11:00</th> <td>&nbsp. break.$conn).

while($row = siguiente($asignaturas)) { $horario = split(" ". break. break. break. de Informática Aplicada (U. $i < count($horario). $row['horario']). $row['horario']). for($i = 0.$conn). } } } ?> </td> <td>&nbsp. } } } ?> </td> <td>&nbsp.) 177 .P.V. $i+=2) { if($horario[$i] == 'Viernes') if($horario[$i+1] == "10") { echo tohtml($row['nombre']). $i+=2) { if($horario[$i] == 'Martes') if($horario[$i+1] == "11") { echo tohtml($row['nombre']). <?php $asignaturas = consulta($sql. while($row = siguiente($asignaturas)) { $horario = split(" ". $i < count($horario). $i < count($horario).S.Vicente Sancho Guijarro 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 { Proyecto Final de Carrera echo tohtml($row['nombre']). while($row = siguiente($asignaturas)) { $horario = split(" ". <?php $asignaturas = consulta($sql. break. <?php $asignaturas = consulta($sql.$conn). $row['horario']). $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "11") { echo tohtml($row['nombre']). for($i = 0. } } } ?> <td>&nbsp. } } } ?> </td> </tr> <tr class="recreo"> <th scope="row">11:00-11:30</th> <td>Recreo</td> <td>Recreo</td> <td>Recreo</td> <td>Recreo</td> <td>Recreo</td> </tr> <tr> <th scope="row">11:30-12:30</th> <td>&nbsp.T. for($i = 0. <?php </td> E.$conn).

break. while($row = siguiente($asignaturas)) { $horario = split(" ". $i+=2) { if($horario[$i] == 'Viernes') if($horario[$i+1] == "11") { echo tohtml($row['nombre']). $i < count($horario).) 178 .$conn). $i < count($horario).T. <?php $asignaturas = consulta($sql.$conn). break.Vicente Sancho Guijarro 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 Proyecto Final de Carrera $asignaturas = consulta($sql.V. $i < count($horario). <?php $asignaturas = consulta($sql. break. de Informática Aplicada (U.$conn). $row['horario']). while($row = siguiente($asignaturas)) { $horario = split(" ". $row['horario']). for($i = 0. } } } ?> </td> </tr> <tr class="comida"> <th scope="row">12:30-15:00</th> <td>Comida</td> <td>Comida</td> <td>Comida</td> <td>Comida</td> <td>Comida</td> </tr> <tr> <th scope="row">15:00-16:00</th> <td>&nbsp. for($i = 0. } } } ?> </td> <td>&nbsp. $i < count($horario).S. } } } ?> </td> <td>&nbsp. $row['horario']). while($row = siguiente($asignaturas)) { $horario = split(" ".$conn). $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "15") { echo tohtml($row['nombre']). E. $row['horario']). <?php $asignaturas = consulta($sql.P. while($row = siguiente($asignaturas)) { $horario = split(" ". $i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "11") { echo tohtml($row['nombre']). for($i = 0. $i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "11") { echo tohtml($row['nombre']). for($i = 0.

$i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "15") { echo tohtml($row['nombre']).$conn). while($row = siguiente($asignaturas)) { $horario = split(" ". for($i = 0. break. break. } } Proyecto Final de Carrera } ?> </td> <td>&nbsp. $row['horario']). <?php $asignaturas = consulta($sql. } } } ?> </td> <td>&nbsp. break. $i < count($horario). while($row = siguiente($asignaturas)) { $horario = split(" ". $i < count($horario). for($i = 0. $row['horario']). for($i = 0. for($i = 0. while($row = siguiente($asignaturas)) { $horario = split(" ". $row['horario']). break.T. } } } ?> </td> <td>&nbsp. $i+=2) { if($horario[$i] == 'Viernes') if($horario[$i+1] == "15") { echo tohtml($row['nombre']). de Informática Aplicada (U.V. $row['horario']).$conn).P.Vicente Sancho Guijarro 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 break. while($row = siguiente($asignaturas)) { $horario = split(" ".$conn). $i+=2) { if($horario[$i] == 'Martes') if($horario[$i+1] == "15") { echo tohtml($row['nombre']). } } E. <?php $asignaturas = consulta($sql.S. $i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "15") { echo tohtml($row['nombre']). $i < count($horario). <?php $asignaturas = consulta($sql. <?php $asignaturas = consulta($sql. $i < count($horario).) 179 .$conn). } } } ?> </td> <td>&nbsp.

for($i = 0.$conn). $i < count($horario).V. while($row = siguiente($asignaturas)) { $horario = split(" ". $row['horario']). for($i = 0. $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "16") { echo tohtml($row['nombre']). while($row = siguiente($asignaturas)) { $horario = split(" ".$conn). break.P. } } } ?> </td> <td>&nbsp. while($row = siguiente($asignaturas)) { $horario = split(" ". <?php $asignaturas = consulta($sql. break.$conn). } } } ?></td> <td>&nbsp. <?php $asignaturas = consulta($sql. break. $row['horario']).T. $i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "16") { echo tohtml($row['nombre']). } } } E.$conn). <?php $asignaturas = consulta($sql. $i+=2) { if($horario[$i] == 'Martes') if($horario[$i+1] == "16") { echo tohtml($row['nombre']). de Informática Aplicada (U. break.Vicente Sancho Guijarro 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 Proyecto Final de Carrera } ?> </td> </tr> <tr> <th scope="row">16:00-17:00</th> <td>&nbsp. while($row = siguiente($asignaturas)) { $horario = split(" ". $row['horario']). $i < count($horario). for($i = 0. <?php $asignaturas = consulta($sql. for($i = 0. $row['horario']).S. $i < count($horario). $i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "16") { echo tohtml($row['nombre']).) 180 . $i < count($horario). } } } ?> </td> <td>&nbsp.

571 ?> 572 <br/><a href="cerrar_sesion_Alumno.Vicente Sancho Guijarro Proyecto Final de Carrera 538 ?> 539 </td> 540 <td>&nbsp.P.n</a> 573 </p> 574 </td> 575 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 576 577 <?php 578 579 rellenar_eventos_curso(). 552 break. 541 <?php 542 $asignaturas = consulta($sql. 543 while($row = siguiente($asignaturas)) 544 { 545 $horario = split(" ".) 181 . 546 for($i = 0.$conn). de Informática Aplicada (U.php">Cerrar sesi&oacute. 553 } 554 } 555 556 } 557 desconectar($conn).T. $i < count($horario).</td> 564 </tr> 565 <tr> 566 <td> 567 <p> 568 <?php 569 570 bienvenido().V. $i+=2) 547 { 548 if($horario[$i] == 'Viernes') 549 if($horario[$i+1] == "16") 550 { 551 echo tohtml($row['nombre']).S. 580 ?> 581 </td> 582 </tr> 583 </table> 584 </body> 585 </html> E.</p></td> 563 <td class="general">&nbsp. 558 ?> 559 </td> 560 </tr> 561 </table> 562 <p>&nbsp. $row['horario']).

php">Tabl&oacute.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().</p></td> <td class="general">&nbsp.</td> </tr> <tr> <td class="fecha">&nbsp./js/fecha. org/TR/xhtml1/DTD/xhtml1-strict.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Listado de alumnos </h1> <?php poner_datos_grupo(). ?> <br><a href="cerrar_sesion_Alumno.T.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_alumnos.php">Horario</a></li> <li><a href="Alumno_alumnos.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".) 182 .php">Instalaciones</a></li> <li><a href="Alumno_tablon.</td> <td colspan="2" class="titulo">&nbsp.php").n</th> <th scope="col">Poblaci&oacute. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ?> </table> <p>&nbsp. semanal </a></li> <li><a href="Alumno_instalaciones.n</th> <th scope="col">Tel&eacute. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.php">Listado profesores </a></li> <li><a href="Alumno_notas. de Informática Aplicada (U."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td width="150" class="logo">&nbsp.fono</th> </tr> <?php rellenar_tabla_alumnos().w3.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().js"> </script> <link href="css/principal.V.S.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.</td> </tr> <tr> <td> <p> <?php bienvenido().</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.php").dtd"> <html xmlns="http://www.w3.php">Cerrar sesi&oacute.php">Listado alumnos </a></li> <li><a href="Alumno_profes. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.php">Men&uacute.P.0 Strict//EN" "http://www. require_once ("Alumno_inc.php">Inicio</a></li> <li><a href="Alumno_horario.php">Notas</a></li> <li><a href="Alumno_faltas.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.n</a> E. ?> <table width="100%" border="1"> <tr> <th scope="col">Nombre</th> <th scope="col">Direcci&oacute.

) 183 .S. de Informática Aplicada (U. 81 ?> 82 </p></td> 83 </tr> 84 </table> 85 </body> 86 </html> E.Vicente Sancho Guijarro Proyecto Final de Carrera 74 </p> 75 </td> 76 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 77 <p> 78 <?php 79 80 rellenar_eventos_curso().T.P.V.

?> <br/><a href="cerrar_sesion_Alumno.php">Instalaciones</a></li> <li><a href="Alumno_tablon.js"> </script> <link href="css/principal. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.S."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.</p> <?php poner_datos_grupo() ?> <table width="100%" border="1"> <tr> <th scope="col">Asignatura</th> <th scope="col">Profesor</th> <th scope="col">Tutorias</th> <th scope="col">E-mail</th> </tr> <?php rellenar_tabla_profesores().</td> <td colspan="2" class="titulo">&nbsp.php">Listado alumnos </a></li> <li><a href="Alumno_profes.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().php").php">Tabl&oacute.php">Men&uacute. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.T.P. ?> </table></td> <td class="general">&nbsp.dtd"> <html xmlns="http://www.w3.</td> </tr> <tr> <td class="fecha">&nbsp." class="logo">&nbsp. de Informática Aplicada (U. semanal </a></li> <li><a href="Alumno_instalaciones.V.php").</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.0 Strict//EN" "http://www.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_profes.) 184 .org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php">Horario</a></li> <li><a href="Alumno_alumnos.php">Inicio</a></li> <li><a href="Alumno_horario.php">Notas</a></li> <li><a href="Alumno_faltas.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". require_once ("Alumno_inc.php">Cerrar sesi&oacute./js/fecha. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.w3. org/TR/xhtml1/DTD/xhtml1-strict.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php">Faltas asistencia </a></li> <li><a href="Alumno_menu.n</a> E.php">Listado profesores </a></li> <li><a href="Alumno_notas.</td> </tr> <tr> <td> <p> <?php bienvenido().n de anuncios </a></li> </ul> </td> <td class="general"><h1>Listado de profesores </h1> <p>&nbsp.

S.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 Proyecto Final de Carrera </p> </td> <td colspan="2" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso() ?> </td> </tr> </table> </body> </html> E.) 185 .T.P. de Informática Aplicada (U.V.

require_once ("Alumno_inc.php")./js/fecha.php">Tabl&oacute.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_notas. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.php">Cerrar sesi&oacute. de Informática Aplicada (U.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. ?> </table> <p>&nbsp.P.S.js"> </script> <link href="css/principal.w3.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Notas</h1> <?php curso_actual(). if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.php">Men&uacute.</p></td> <td class="general">&nbsp. org/TR/xhtml1/DTD/xhtml1-strict.php">Inicio</a></li> <li><a href="Alumno_horario. semanal </a></li> <li><a href="Alumno_instalaciones.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".php">Faltas asistencia </a></li> <li><a href="Alumno_menu.) 186 ."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.php">Horario</a></li> <li><a href="Alumno_alumnos." class="logo">&nbsp.V. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.php").dtd"> <html xmlns="http://www.php">Instalaciones</a></li> <li><a href="Alumno_tablon. ?> <table width="100%" border="1"> <tr> <th scope="col">Asignatura</th> <th scope="col">1</th> <th scope="col">2</th> <th scope="col">3</th> </tr> <?php rellenar_tabla_notas().w3. ?> <br/><a href="cerrar_sesion_Alumno.php">Notas</a></li> <li><a href="Alumno_faltas.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.php">Listado profesores </a></li> <li><a href="Alumno_notas.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().0 Strict//EN" "http://www.T.php">Listado alumnos </a></li> <li><a href="Alumno_profes.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.'>Eventos del curso </p> E.</td> </tr> <tr> <td> <p> <?php bienvenido().</td> <td colspan="2" class="titulo">&nbsp.n</a> </p> </td> <td colspan="2" class="noticias"><p style=' font-weight: bold.</td> </tr> <tr> <td class="fecha">&nbsp.

Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 <?php rellenar_eventos_curso() ?> </td> </tr> </table> </body> </html> Proyecto Final de Carrera E.T.S.P.V.) 187 . de Informática Aplicada (U.

php">Inicio</a></li> <li><a href="Alumno_horario.n</a> </p> </td> <td colspan="2" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso(). charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. de Informática Aplicada (U.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.php">Notas</a></li> <li><a href="Alumno_faltas.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.V. ?> <p>&nbsp. org/TR/xhtml1/DTD/xhtml1-strict.T.w3.0 Strict//EN" "http://www.P.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.php">Listado profesores </a></li> <li><a href="Alumno_notas.php">Tabl&oacute.php").php">Men&uacute.S.w3.php">Listado alumnos </a></li> <li><a href="Alumno_profes. ?> </td> </tr> </table> </body> E." class="logo">&nbsp.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Faltas de asistencia </h1> <?php rellenar_tabla_faltas().php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().php").css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".) 188 .js"> </script> <link href="css/principal. require_once ("Alumno_inc.</td> </tr> <tr> <td class="fecha">&nbsp. ?> <br/><a href="cerrar_sesion_Alumno.php">Instalaciones</a></li> <li><a href="Alumno_tablon. semanal </a></li> <li><a href="Alumno_instalaciones./js/fecha.</td> <td colspan="2" class="titulo">&nbsp."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.</p></td> <td class="general">&nbsp.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().dtd"> <html xmlns="http://www. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_faltas.php">Cerrar sesi&oacute.php">Horario</a></li> <li><a href="Alumno_alumnos.</td> </tr> <tr> <td> <p> <?php bienvenido().

Vicente Sancho Guijarro 74 </html> Proyecto Final de Carrera E.S. de Informática Aplicada (U.P.V.T.) 189 .

" class="logo">&nbsp.dtd"> <html xmlns="http://www.php">Notas</a></li> <li><a href="Alumno_faltas.</td> </tr> <tr> <td class="fecha">&nbsp.0 Strict//EN" "http://www.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 <?php session_start().w3.php">Listado alumnos </a></li> <li><a href="Alumno_profes.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".php">Tabl&oacute. de Informática Aplicada (U./js/fecha.php">Inicio</a></li> <li><a href="Alumno_horario.php">Men&uacute. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.) 190 .T. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. ?> </td> </tr> </table> </body> </html> E.V. semanal </a></li> <li><a href="Alumno_instalaciones.js"> </script> <link href="css/principal.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Men&uacute.php">Horario</a></li> <li><a href="Alumno_alumnos. require_once ("Alumno_inc.php">Instalaciones</a></li> <li><a href="Alumno_tablon.</td> <td colspan="2" class="titulo">&nbsp."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.php"). org/TR/xhtml1/DTD/xhtml1-strict.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.</td> </tr> <tr> <td> <p> <?php bienvenido().css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). semanal </h1> <p><img src="img/menuJunio1.jpg" alt="menu" width="600" height="511" longdesc="Menu del comedor del mes de junio" /></p></td> <td class="general">&nbsp.w3.php">Cerrar sesi&oacute. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ?> <br/><a href="cerrar_sesion_Alumno.P.S.n</a> </p> </td> <td colspan="2" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso().php").php">Faltas asistencia </a></li> <li><a href="Alumno_menu.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_menu.php">Listado profesores </a></li> <li><a href="Alumno_notas.

org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.js"> </script> <link href="css/principal.'>&nbsp.php">Instalaciones</a></li> <li><a href="Alumno_tablon">Tabl&oacute. semanal </a></li> <li><a href="Alumno_instalaciones.P.'>Normas</th>\n". charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. E.</th>\n". echo " <th style='width: 425px./js/reservas.T.php").n</th> \n". echo " <th style='width: 80px.php">Horario</a></li> <li><a href="Alumno_alumnos.w3. echo " <th style='width: 100px.'>Proposito</th>\n". org/TR/xhtml1/DTD/xhtml1-strict./js/fecha.php">Inicio</a></li> <li><a href="Alumno_horario. echo " <th style='width: 90px.php">Faltas asistencia </a></li> <li><a href="Alumno_menu. echo " <th style='width: 140px.php">Notas</a></li> <li><a href="Alumno_faltas. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. echo "</tr>\n".css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".V. de Informática Aplicada (U.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_instalaciones."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.</td> </tr> <tr> <td class="fecha">&nbsp. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido." class="logo">&nbsp.php").S.'>Instalaci&oacute.'>Fecha</th>\n".n de anuncios </a></li> </ul> </td> <td class="general"> <p>Reserva de instalaciones</p> <h3>Instalaciones Reservadas</h3> <table border='1'> <tbody> <?php $ins = listado_reservas_instalaciones().php">Listado alumnos </a></li> <li><a href="Alumno_profes. echo "</tbody>\n".0 Strict//EN" "http://www.</td> <td colspan="2" class="titulo">&nbsp. } else { echo "<tr>\n".</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.) 191 . require_once ("Alumno_inc.dtd"> <html xmlns="http://www. echo "</tbody>\n".js"> </script> <script type="text/javascript" src=".php">Listado profesores </a></li> <li><a href="Alumno_notas.php">Men&uacute.w3. if ($ins == null) { echo "<tr><td><b>No hay instalaciones reservadas</b></td>< /tr>\n".

138 if($fechaComparar >= date("Ymd")) 139 for($i=0.$i++) 140 echo "<p><span class='fechaNoticia'>".$fecha[0]. "</td> 80 \n". tohtml($actual["proposito"]) .$fecha[1]. 117 $conn = Conectar(). $actual["normas"] . "</td>\n". 89 echo " <div style='text-align: center. 133 134 while($row = siguiente($res)) 135 { 136 $fecha=split("-". 99 echo "</td>\n".</td> 112 </tr> 113 <tr> 114 <td> 115 <p><?php 116 //include("bd. 83 echo "<td><a href='" .sacarFecha($row["fecha"])).php' 88 name='anular'> \n". tohtml($actual["instalacion"]) .T.sacarFecha($row["fecha"]). 144 ?> 145 </td> 146 </tr> 147 </table> 148 </body> 149 </html> E.$conn). 121 while($row = siguiente($resultado)) 122 echo 'Bienvenido ' . 119 '"'. 79 echo "<td>" .P.php"). de Informática Aplicada (U. 132 $res=consulta($sql." </p>".Vicente Sancho Guijarro Proyecto Final de Carrera 74 foreach ($ins as $actual) 75 { 76 $temp = convertir_fecha($actual["fecha"]). "</td>\n". 82 echo "<td>" . "'>Normativa< 84 /a></td>\n". 93 echo " </div> \n". 101 } 102 } 103 ?> 104 105 </table> 106 <br/> 107 108 109 <a href="/webcole/Alumno_reservar_instalacion. $i<3 && $i<numeroFilas($res).'>Anular< 92 /button> \n".S. 141 " </span>". 94 echo " <input name='fecha' type='hidden' value='" .n</a> 125 </p> 126 </td> 127 <td colspan="2" class="noticias"> 128 <h3>Eventos del curso</h3> 129 <?php 130 131 $sql="SELECT * FROM evento WHERE titulo = 'Curso' ORDER BY fecha". $conn). 86 echo " <form method='get' 87 action='/webcole/Alumno_anular_reserva. 77 $fecha = $fecha = split(" ". 97 INST . 81 echo "<td>" . 118 $sql = 'SELECT * FROM usuario WHERE login ="' .V.php">Reservar 110 instalaci&oacute. 137 $fechaComparar = "". 95 urlencode($actual["fecha"]) . 96 echo " <input name='item' type='hidden' value='" . "'> \n". 85 echo "<td>\n".'> \n". 120 $resultado = consulta($sql. $fecha[0] . 98 echo " </form> \n". $row['nombre'].n</a></td> 111 <td class="general">&nbsp. $actual["idinst"] . 90 echo " <button value='" .) 192 .$fecha[2]. 123 ?> 124 <br/><a href="cerrar_sesion_Alumno. 78 echo "<tr>\n". 91 "' name='iditem' onclick='javascript:enviar(). "'> \n". 142 } 143 desconectar($conn).$temp).tohtml($row["descripcion"]).php">Cerrar sesi&oacute. 100 echo "</tr>\n". $_SESSION["id"] .

$mes. $anyo = $_REQUEST["anyo"].$motivo.lido<br>\n". $item = $_REQUEST["item"]. if (!isset($item) && (strcmp($item.php").) 193 .$anyo. //¿Estan definadas las variables? if (!isset($dia) || $dia < 0 || $dia > 31) { $error = "D&iacute.P.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_reserva. = 00. $mes = $_REQUEST["mes"]. = 00. $res = reservar_instalacion($login. $seg.= "A&ntilde. } else { $es_valido = true. } if (!isset($motivo) || strlen($motivo) < 5 ) { $error .T. MAX_LENGTH_MOTIVO-1).= "Motivo insuficiente<br>\n". } if (strlen($error) > 1) { $es_valido = false.lida<br>\n". if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.a no v&aacute. $error = "Se produjo un error inesperado en la reserva de la instalaci&oacute.= "Tipo desconocido: $item : <br>\n". 0. require_once ("Alumno_inc. $login = $_SESSION["id"].= "Instalaci&oacute. } $item1 = INST.lido<br>\n". ?> <?php //obtener datos enviados por el formulario $dia = $_REQUEST["dia"]. $ano_hoy=date("Y").n no v&aacute. E.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().$iditem. } if (!isset($mes) || $mes < 1 || $mes > 12 ) { $error .S. if (!$res) { $es_valido = false.V. } if (!isset($iditem) || $iditem ==-1 ) { $error .n<br>\n".$min.= "Mes no v&aacute.lido<br>\n".php"). $iditem = $_REQUEST["iditem"]. $motivo = substr($_REQUEST["motivo"].o no v&aacute.$item1) != 0 )) { $error . $item). $error = "".$hora. } //solo reservas en este año if ( !isset($anyo) || $anyo != $ano_hoy ) { $error . de Informática Aplicada (U. //por $hora $min $seg si en futuro al reservar se tiene en cuenta la hora(de inicio) = 00.$dia.

S."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td width="150" class="logo">&nbsp.php">Horario</a></li> <li><a href="Alumno_alumnos.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 } } Proyecto Final de Carrera ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.</td> <td colspan="2" class="titulo">&nbsp.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".php">Men&uacute.0 Strict//EN" "http://www. redirigir().P.php">Listado alumnos </a></li> <li><a href="Alumno_profes.php">Faltas asistencia </a></li> <li><a href="Alumno_menu. $resultado = consulta($sql. semanal </a></li> <li><a href="Alumno_instalaciones.) 194 . $dp). $sql = 'SELECT * FROM usuario WHERE login ="' .</td> </tr> <tr> <td class="fecha">&nbsp.php">Instalaciones</a></li> <li><a href="Alumno_tablon">Tabl&oacute.php">Listado profesores </a></li> <li><a href="Alumno_notas.php"). echo "Pulsa <a href='/webcole/Alumno_reservar_instalacion.php">Notas</a></li> <li><a href="Alumno_faltas.dtd"> <html xmlns="http://www.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). charset=iso-8859-1" /> <?php //Ruta de retorno que utilizaremos aqui si todo fue bien if ( $es_valido ) { echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno. '"'.n de anuncios </a></li> </ul> </td> <td class="general"><?php //Ruta de retorno que utilizaremos aqui si todo fue bien echo "Se han producido los siguientes errores: <br> $error<br>\n".</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.php\">\n". URL=/webcole/Alumno_instalaciones.</td> </tr> <tr> <td> <p><?php //include("bd.w3.w3. echo "<br>\n".org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.V. $_SESSION["id"] .php'>aquí< /a> para volver al formulario de reserva<br>\n". E./js/fecha. org/TR/xhtml1/DTD/xhtml1-strict. $dp = Conectar(). ?></td> <td class="general">&nbsp.T.php">Inicio</a></li> <li><a href="Alumno_horario. } ?> <title>CP Emilio Lluch</title> <link href="css/general.js"> </script> <link href="css/principal. de Informática Aplicada (U.

$row['nombre']. 155 echo "<br>\n<a href='/webcole/cerrar_sesion.S. 157 ?> 158 <br><a href="cerrar_sesion_Alumno.V.php">Cerrar sesi&oacute. 153 154 desconectar($dp).php'>Cerrar sesi&oacute.P.) 195 .Vicente Sancho Guijarro Proyecto Final de Carrera 151 while($row = siguiente($resultado)) 152 echo 'Bienvenido ' . de Informática Aplicada (U. 156 n</a>".T.n</a> 159 </p> 160 </td> 161 <td colspan="2" class="noticias"></td> 162 </tr> 163 </table> 164 </body> 165 </html> E.

</td> <td colspan="2" class="titulo">&nbsp.php">Horario</a></li> <li><a href="Alumno_alumnos. ?>').php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().js"> </script> <link href="css/principal.dtd"> <html xmlns="http://www.P.php">Instalaciones</a></li> <li><a href="Alumno_tablon">Tabl&oacute.php">Notas</a></li> <li><a href="Alumno_faltas. "' />\n".</td> </tr> <tr> <td class="fecha">&nbsp. text-align: right. de Informática Aplicada (U. '<?php echo strtolower(INST).php" name="reservar"> <?php echo "<input type='hidden' name='item' value='" .css" rel="stylesheet" type="text/css" /> <link href="css/calendario. n</option> <?php //Comprobamos si llegamos aqui despues de elegir una instalacion $iditem = $_REQUEST["iditem"].Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_reservar_instalacion. text-align: left.T."><span style="font-weight: bold.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. INST .js"> </script> <script type="text/javascript" src=".php">Faltas asistencia </a></li> <li><a href="Alumno_menu.php">Listado alumnos </a></li> <li><a href="Alumno_profes."> Selecciona una instalaci&oacute. text-align: right./js/reservas.w3.) 196 . if($_SESSION["tipo"] != "Alumno") header("Location: prohibido. width: 700px.org/TR/xhtml1/DTD/xhtml1-transitional."><select name="iditem" onchange="javascript:redirigir('<?php echo ALUM.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.n</span></td> <td style="width: 400px. w3."> <option value='-1'>Selecciona una instalaci&oacute. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.php". ?> '.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp." class="logo">&nbsp. height: 284px.php").css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". E." border="0" cellpadding="2" cellspacing="2"> <tbody> <tr> <td style="width: 300px.V. require_once "Alumno_inc. ?> <table style="text-align: left. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.php">Listado profesores </a></li> <li><a href="Alumno_notas. semanal </a></li> <li><a href="Alumno_instalaciones.php">Men&uacute.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().n de anuncios </a></li> </ul> </td> <td class="general">Intranet Alumno <form method="get" action="/webcole/Alumno_reserva.php">Inicio</a></li> <li><a href="Alumno_horario./js/fecha.0 Transitional//EN" "http://www."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.S.

"</option>\n". $tiempo_actual)."><?php require_once ("calendario_ins. $ano = $_GET["nuevo_ano"]. //if (!$HTTP_POST_VARS && !$HTTP_GET_VARS){ if ((!isset($_GET["nuevo_mes"])) || (!isset($_GET[ "nuevo_mes"])) || (!isset($_GET["nuevo_mes"]))) { //echo "http no definidos<br>\n". $dia=date("d"). "-" . }else { //echo "http definidos<br>\n". $tiempo_actual = time(). $tiempo_actual).) 197 .P. $tiempo_actual).V. $actual[ "idinstalacion"]. $actual[ "instalacion"] . "</option>\n". echo "<input type=\"hidden\" name='dia_c' value='$dia'/> \n". text-align: right. $actual[ "idinstalacion"]. de Informática Aplicada (U. } if (!isset($dia)) { $dia=date("d"). "'>" . foreach ($ins as $actual) { if ($actual["idinstalacion"] == $iditem) { echo "<option value='" . } if (!isset($mes)) { $mes = date("n".$ano. if (!isset($tabla)) { //utilizamos una variable no inicializada //mostrar_calendario tiene en cuenta si esa variable //no esta inicializada mostrar_calendario($dia_c. $variable_no_asignada. $dia. INST). echo "<input type=\"hidden\" name='mes' value='$mes'/> \n". $ano = date("Y".T. "' selected='selected'>" .$mes. $dia. ">Selecciona una fecha< /span></td> <td style="width: 400px. echo "<input type=\"hidden\" name='anyo' value='$ano'/> \n". "-" .php"). } } ?> </select></td> </tr> <tr> <td style="width: 200px. } echo "<input type=\"hidden\" name=\"dia\" value=''/>\n". } if (!isset($ano)) { $ano = date("Y". $fecha=$ano . ALUM). $tiempo_actual). } else { echo "<option value='" . $tabla = fecha_reservas($iditem.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera if (!isset($iditem)) $iditem = -1. $dia = $_GET["dia"]. } else E. $actual["instalacion"] . $fecha=$ano ."><span style="font-weight: bold. "-" .S. $ins = listado_instalacion(). $mes = $_GET["nuevo_mes"]. $mes = date("n". "-" . $mes . INST. $mes .

motivo.length> 173 = longitud()){return false." /></div> 182 </td> 183 </tr> 184 </tbody> 185 </table> 186 </form> 187 </td> 188 <td class="general">&nbsp.font-weight: 167 bold."><label>Motivo</label> 168 <br /> 169 <i>(m&aacute."> 179 <div align="left"><input type='button' name='Submit' 180 value='Enviar' 181 onclick="javascript:enviar(). 193 $dp = Conectar(). $_SESSION["id"] .php"). 196 $resultado = consulta($sql.$mes. 201 ?> 202 <br/><a href="cerrar_sesion_Alumno. 194 $sql = 'SELECT * FROM usuario WHERE login ="' . text-align: right.ximo 1500 car&aacute.V.$ano.text-align: right.T.n</a> 203 </td> 204 <td colspan="2" class="noticias"></td> 205 </tr> 206 </table> 207 </body> 208 </html> E. $dp). 154 } 155 ?> 156 </td> 157 </tr> 158 159 <tr> 160 <td style="font-weight: bold.</td> 189 </tr> 190 <tr> 191 <td><?php 192 //include("bd.">&nbsp. 153 ALUM).) 198 .</td> 178 <td style="width: 400px. 199 200 desconectar($dp). de Informática Aplicada (U."><textarea cols="50" rows="2" 171 name="motivo" 172 onkeydown="if(document.S. 195 '"'. text-align: right.value.P.php">Cerrar sesi&oacute. $tabla.Vicente Sancho Guijarro Proyecto Final de Carrera 151 { 152 mostrar_calendario($dia_c. INST.reservar.">Fecha 161 seleccionada</td> 162 <td><input readonly="readonly" maxlength="15" 163 name="fecha" /></td> 164 </tr> 165 <tr> 166 <td style="width: 200px.}"></textarea> 174 </td> 175 </tr> 176 <tr> 177 <td style="width: 200px. 197 while($row = siguiente($resultado)) 198 echo 'Bienvenido ' .cteres)</i></td> 170 <td style="width: 400px. $row['nombre'].

php">Inicio</a></li> <li><a href="Alumno_horario. de Informática Aplicada (U. semanal </a></li> <li><a href="Alumno_instalaciones.T. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.php").php").n de anuncios </h1> <p>&nbsp.</div></td> </tr> <tr> <td rowspan="5" class="menu"> <ul> <li><a href="intranetAlumno. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). org/TR/xhtml1/DTD/xhtml1-strict.P.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_tablon.</td> </tr> <tr> <td class="fecha">&nbsp.php">Listado profesores </a></li> <li><a href="Alumno_notas.</td> <td colspan="3" class="titulo">&nbsp." class="logo">&nbsp.) 199 .php">Faltas asistencia </a></li> <li><a href="Alumno_menu.dtd"> <html xmlns="http://www./js/fecha.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". require_once ("Alumno_inc.php">Horario</a></li> <li><a href="Alumno_alumnos."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. ?> <tr> <td></td> <td colspan="2" class="general"><h3>Insertar nuevo anuncio</h3> <form id="form1" method="post" action="Alumno_tablon_insertar.js"> </script> <link href="css/principal.php">Listado alumnos </a></li> <li><a href="Alumno_profes.</p></td> <td rowspan="5" class="general">&nbsp.</td> </tr> <?php poner_anuncios_tablon().php"> <div> <label> T&iacute.w3.tulo </label> <br /> <input type="text" name="titulo" /> <p> Texto <br /> <label> <textarea name="texto" cols="60" rows="3"></textarea> </label> </p> <p> E.S.php">Men&uacute.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php">Tabl&oacute.php">Instalaciones</a></li> <li><a href="Alumno_tablon. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().V.php">Notas</a></li> <li><a href="Alumno_faltas.0 Strict//EN" "http://www.</td> <td colspan="3" class="fecha"><div id="campoHora">&nbsp.n de anuncios </a></li> </ul> </td> <td colspan="2" class="general"><h1>Tabl&oacute.

T.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 Proyecto Final de Carrera <label> <input type="submit" name="Submit" value="Insertar" /> </label> </p> </div> </form> <p>&nbsp.php">Cerrar sesi&oacute. de Informática Aplicada (U.P. ?> <br/><a href="cerrar_sesion_Alumno.V.) 200 . </p></td> <td class="general"></td> </tr> <tr> <td> <p> <?php bienvenido().n</a> </p> </td> <td colspan="3" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso().S. ?> </td> </tr> </table> </body> </html> E.

mysql_error($conn). `login` .$conn). ?> <head> <meta http-equiv="refresh" content="3. $sql = "INSERT INTO `anuncio` ( `idanuncio` . `texto` ) VALUES ('".php"). $insert = consulta($sql.$fecha."'."')". $fecha = date("Y-m-d H:i:s").php"). else $idanun = 1."'.) 201 . //echo "id".S. $titulo. $conn = Conectar(). if($num = siguiente($num)) $idanun= $num["idanuncio"] + 1. $texto = $_POST["texto"].. $num = consulta($sql. `fecha` .php"> </head> Insertando. '".V.URL=Alumno_tablon.$conn). Desconectar($conn)."error: " ."'.$_SESSION["id"]. $sql = "SELECT * FROM anuncio ORDER BY idanuncio DESC". $titulo = $_POST["titulo"].$_SESSION["id"].Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_tablon_insertar. '".php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 <?php session_start().. '".$idanun. `titulo` .$texto. de Informática Aplicada (U. '". E. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido."'.P. include("bd.T.

} //ya estara en el formato de mysql.S. $iditem = $_REQUEST["iditem"].w3. charset=iso-8859-1" /> <?php if ($es_valido) echo "<meta http-equiv=\"refresh\" content=\"5. } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.php"). $es_valido = false.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start()./js/fecha.</td> <td colspan="2" class="titulo">&nbsp. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido. $fecha. $es_valido = false.P."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td width="150" class="logo">&nbsp. de Informática Aplicada (U. $es_valido = false.0 Strict//EN" "http://www.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". No valida<br>\n".dtd"> <html xmlns="http://www. $item).</td> E.php". //echo $error. $login = $_SESSION["id"]. No valido<br>\n". $iditem.="Error en la Fecha. $error.="Error en el codigo de instalacion. if ( !isset($login)) { header("Location: /webcole/prohibido. $es_valido = true.w3.V.) 202 . } } else { $error = "Han ocurrido errores en los parametros de anulacion<br>\n" . $es_valido = false.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_anular_reserva. org/TR/xhtml1/DTD/xhtml1-strict. } if ( !isset($iditem) || $iditem < 1 ) { $error .T. //si no es correcto sencillamente no se borrara el registro.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. $item = $_REQUEST["item"]. } if ($es_valido) { $resultado = anular_reserva($login.js"> </script> <link href="css/principal. $es_valido = false.URL=Alumno_instalaciones. if (!$resultado) { $error = "Han ocurrido problemas durante la anulacion de la reserva <br>\n". if ( !isset($fecha)) { $error . php\" />\n". $error = "". require_once "Alumno_inc. ?> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). // $fecha = urldecode($_REQUEST["fecha"]).php").

</a> para regresar a la p&aacute.</div> 79 </td> 80 </tr> 81 <tr> 82 <td class="menu"> 83 <ul> 84 <li><a href="intranetAlumno.php">Horario</a></li> 86 <li><a href="Alumno_alumnos.gina de reservas</p> 113 \n".T. Si no pulsa". 102 echo "<a href=\"/webcole/Alumno_instalaciones.php\"> aqu&iacute. $dp).</td> 77 <td colspan="2" class="fecha"> 78 <div id="campoHora">&nbsp.</td> 119 </tr> 120 <tr> 121 <td> 122 <p><?php 123 //include("bd.S.php">Instalaciones</a></li> 92 <li><a href="Alumno_tablon">Tabl&oacute.s a la p&aacute.Vicente Sancho Guijarro Proyecto Final de Carrera 74 </tr> 75 <tr> 76 <td class="fecha">&nbsp.V. de Informática Aplicada (U. 132 ?> 133 <br><a href="cerrar_sesion_Alumno.php">Faltas asistencia </a></li> 90 <li><a href="Alumno_menu. 127 $resultado = consulta($sql. 126 '"'.) 203 . 103 </a></p>\n".php">Listado alumnos </a></li> 87 <li><a href="Alumno_profes. 109 echo "Errores: $error<br>\n". 125 $sql = 'SELECT * FROM usuario WHERE login ="' . $_SESSION["id"] .php">Men&uacute.P. 104 } 105 else 106 { 107 echo "Han ocurrido problemas durante la anulacion de la reserva< 108 br>\n". 100 echo "<p>En 5 segundos ser&aacute. 128 while($row = siguiente($resultado)) 129 echo 'Bienvenido ' . 110 111 echo "Pulsa <a href=\"/webcole/Alumno_instalaciones.php">Listado profesores </a></li> 88 <li><a href="Alumno_notas.php">Cerrar sesi&oacute.php\"> 112 aqu&iacute.php">Notas</a></li> 89 <li><a href="Alumno_faltas.n</a> 134 </p> 135 </td> 136 <td colspan="2" class="noticias"></td> 137 </tr> 138 </table> 139 </body> 140 </html> E.php">Inicio</a></li> 85 <li><a href="Alumno_horario.n de anuncios </a></li> 93 </ul> 94 </td> 95 <td class="general">Intranet Alumno 96 <p><?php 97 if ($es_valido) 98 { 99 echo "Reservar anulada correctamente !!!!<br>\n". 124 $dp = Conectar(). 130 131 desconectar($dp). semanal </a></li> 91 <li><a href="Alumno_instalaciones.gina de 101 instalaciones. $row['nombre']. 114 } 115 ?></p> 116 117 </td> 118 <td class="general">&nbsp.php").

} return $nombre_mes. break. break. break. case 4: $nombre_mes="Abril". $_GET["formulario"] . break.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php include_once("bd. en este caso marcar dichas //fechas en el calencia function mostrar_calendario($dia. case 5: $nombre_mes="Mayo". break. de Informática Aplicada (U. function calcula_numero_dia_semana($dia.P. puede recibir una tablas con fechas //en que una instalacion ha sido reservada.$ultimo_dia + 1. case 7: $nombre_mes="Julio". else $numerodiasemana--. $ano_hoy=date("Y"). } return $ultimo_dia.$ano){ $numerodiasemana = date('w'. case 6: $nombre_mes="Junio". mktime(0. break.$ano)). $_GET["nomcampo"]. case 8: $nombre_mes="Agosto". if ($numerodiasemana == 0) $numerodiasemana = 6.$ano){ $ultimo_dia=28. break. case 12: $nombre_mes="Diciembre".$mes. case 11: $nombre_mes="Noviembre".Vicente Sancho Guijarro Proyecto Final de Carrera calendario_faltas. $parametros_formulario = "formulario=" . break.$ano)){ $ultimo_dia++.) 204 . "&nomcampo=" . case 10: $nombre_mes="Octubre".$ano){ $mes_hoy=date("m").$mes. break. } //Muestra el calendario. case 9: $nombre_mes="Septiembre". case 2: $nombre_mes="Febrero". E. case 3: $nombre_mes="Marzo".$mes.0. break. } function dame_nombre_mes($mes){ switch ($mes){ case 1: $nombre_mes="Enero".V. break. break.S.php").$dia. return $numerodiasemana.0. } //funcion que devuelve el último día de un mes y año dados function ultimoDia($mes.T. while (checkdate($mes.

text-align: center .dia=$dia&amp.P.S." class="altn">Ma< /td> <td style="width: 14%. $mes_siguiente=01.text-align: center . //echo "Numero del dia de demana del primer: $numero_dia <br>".color: white>".$mes.T." class="altn">Lu< /td> <td style="width: 14%. //calculo el mes y ano del mes anterior $mes_anterior = $mes . nuevo_mes=$mes_siguiente&amp.$ano). } else { $hoy=date("d"). echo "<td align=center class=tit>$nombre_mes $ano</td>". //Variable para llevar la cuenta del dia actual $dia_actual = 1.&gt.font-weight:bold.</a></td>".$ano).nuevo_ano=$ano_anterior'>&lt.php?$parametros_formulario&amp." class="altn">Ju< /td> <td style="width: 14%. echo "<td align=right style=font-size:10pt.1. //construyo la cabecera de la tabla echo "<table width='200px' cellspacing='3' cellpadding='2' border='0'>< tr><td colspan='7' align='center' class='tit'>". echo "<table width='100%' cellspacing='2' cellpadding='2' border='0'>< tr><td style='font-size:10pt." class="altn">Do< /td> </tr>'. if ($mes_siguiente==13){ $ano_siguiente++." class="altn">Sa< /td> <td style="width: 14%. //calculo el mes y ano del mes siguiente $mes_siguiente = $mes + 1. //comprobamos si la variable con las fechas reservadas esta inicializada if (isset($reservas)) { //eliminamos las reservas que nos son del actual anyo y mes E.text-align: center . de Informática Aplicada (U.text-align: center .font-weight:bold. } echo "<a style='color:white.</a></td> </tr></table></td></tr>".V. $ano_anterior = $ano.color:white'>". nuevo_mes=$mes_anterior&amp. } //tomo el nombre del mes que hay que imprimir $nombre_mes = dame_nombre_mes($mes).) 205 .text-align: center .text-decoration:none' href='calendario_faltas." class="altn">Mi< /td> <td style="width: 14%. $nodis = array()." class="altn">Vi< /td> <td style="width: 14%.text-align: center .Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera //obtenemos if (($mes_hoy <> $mes) || ($ano_hoy <> $ano)) { $hoy=0. $ano_siguiente = $ano. //calculo el último dia del mes $ultimo_dia = ultimoDia($mes.text-align: center . //calculo el numero del dia de la semana del primer dia $numero_dia = calcula_numero_dia_semana(1.text-decoration:none' href='calendario_faltas.php?$parametros_formulario&amp.dia=$dia&amp. $mes_anterior=12. if ($mes_anterior==0){ $ano_anterior--. echo ' <tr> <td style="width: 14%.nuevo_ano=$ano_siguiente'>&gt.&lt. } echo "<a style='color:white.

$ano)'>$dia_actual</a>< 205 /td>\n".$mes. 187 } 188 } 189 else 190 { 191 if (in_array($dia_actual.) 206 . 179 } 180 else if ($dia_actual == $dia) //Dia seleccionado 181 { 182 echo "<td class='da'>$dia_actual</td>\n".$ano)'>$dia_actual</a>< 213 /td>\n". 172 if (in_array($dia_actual. $nodis )) 173 { 174 echo "<td class='nd'>$dia_actual</td>\n". $nodis )) 192 { 193 echo "<td class='nd'>$dia_actual</td>\n". 194 } 195 else if ($dia_actual == $hoy) 196 { 197 echo "<td class='laborable'><a href='javascript: 198 devuelveFecha($dia_actual. 167 } else { 168 if (($i == 5) || ($i == 6)) 169 { 170 //comprobamos si esta fecha esta en la tabla de las 171 //fechas reservadas. 156 } 157 } 158 } 159 160 //escribo la primera fila de la semana 161 echo "<tr>". 226 while ($dia_actual <= $ultimo_dia){ 227 //si estamos a principio de la semana escribo el <TR> E. 220 } 221 } 222 echo "</tr>".P. de Informática Aplicada (U.$i++){ 163 if ($i < $numero_dia){ 164 //si el dia de la semana i es menor que el numero del primer 165 dia de la semana no pongo nada en la celda 166 echo "<td></td>".T.$mes.V. 214 215 } 216 217 218 } 219 $dia_actual++. 223 224 //recorro todos los demás días hasta el final del mes 225 $numero_dia = 0. 200 } 201 else if ($dia_actual == $dia) //Dia seleccionado 202 { 203 echo "<td class='laborable'><a href='javascript: 204 devuelveFecha($dia_actual. 206 } 207 208 else 209 { 210 211 echo "<td class='laborable'><a href='javascript: 212 devuelveFecha($dia_actual.$i<7.$mes.Vicente Sancho Guijarro Proyecto Final de Carrera 151 foreach ( $reservas as $actual) 152 { 153 if ( $actual["anyo"] == $ano && $actual["mes"] == $mes) 154 { 155 $nodis [] = $actual["dia"].S. 162 for ($i=0. 183 } 184 else 185 { 186 echo "<td class='da'>$dia_actual</td>\n".$ano)'>$dia_actual</a>< 199 /td>\n". 175 } 176 else if ($dia_actual == $hoy) 177 { 178 echo "<td class='da'>$dia_actual</td>\n".

if ($numero_dia == 7) { $numero_dia = 0.$mes. } else { //echo "<td class=fs ><a href=calendario. php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>". } } $dia_actual++. php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>".$ano)'>$dia_actual</a>< /td>\n". echo "</tr>\n". $nodis )) { echo "<td class='nd'>$dia_actual</td>\n".$ano)'>$dia_actual</a>< /td>\n".V.$mes. //si es el uñtimo de la semana. } else if ($dia_actual == $hoy) { //echo "<td class=da><a href=calendario.Vicente Sancho Guijarro 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 Proyecto Final de Carrera if ($numero_dia == 0) echo "<tr>". de Informática Aplicada (U.S.T.$mes. } else if ($dia_actual == $dia) //Dia seleccionado { //echo "<td class=da><a href=calendario.$ano)'>$dia_actual</a>< /td>\n". } else { echo "<td class='laborable' ><a href='javascript: devuelveFecha($dia_actual. $nodis )) { echo "<td class='nd'>$dia_actual</td>\n". echo "<td class='da'>$dia_actual</td>\n". } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class='laborable' ><a href='javascript: devuelveFecha($dia_actual. } } //compruebo que celdas me faltan por escribir vacias de la última semana del mes E. $numero_dia++. me pongo al principio de la semana y escribo el </tr> //De momento no se permite reservar una instalacion los //fines de semana if (($numero_dia == 5) || ($numero_dia == 6)) { if (in_array($dia_actual. } else if ($dia_actual == $hoy) { echo "<td class='laborable' ><a href='javascript: devuelveFecha($dia_actual.) 207 . echo "<td class='da'>$dia_actual</td>\n". } } else { if (in_array($dia_actual.P. echo "<td class='da'>$dia_actual</td>\n". php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>".

$dia = $_GET["dia"]. value='" + dia + "-" + mes + "-" + ano + "'") eval ("opener. $dia=date("d"). charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. window. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. $mes = date("n".w3. } //echo"Fecha Seleccionada <input type=text name=fecha value=$fecha>". if ( !isset ($mes) || !isset ($ano) || !isset ($dia) { $tiempo_actual = time().document.$i<7.dtd"> <html xmlns="http://www. $mes . focus()"). //meto el dia eval ("opener. $dia=date("d").$ano). Proyecto Final de Carrera //echo "<input type='hidden' name='mes2' value='$mes' />\n". $mes = date("n". "-" . } $fecha=$ano .S. } if (!$HTTP_POST_VARS && !$HTTP_GET_VARS){ $tiempo_actual = time().ano) { //Se encarga de escribir en el formulario adecuado los valores seleccionados //también debe cerrar la ventana del calendario var formulario_destino = '<?echo $_GET["formulario"]?>'. $mes ." + campo_destino + ". $fecha=$ano . de Informática Aplicada (U.) 208 . $tiempo_actual).css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> function devuelveFecha(dia.P. }else { $mes = $_GET["nuevo_mes"].Vicente Sancho Guijarro 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 for ($i=$numero_dia." + formulario_destino + ".mes. $tiempo_actual). org/TR/xhtml1/DTD/xhtml1-strict.$mes." + campo_destino + ".$i++){ echo "<td></td>\n". echo "</table>\n".org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. $dia. } </script> </head> <body> <? mostrar_calendario($dia. "-" . $tiempo_actual). //echo "<input type='hidden' name='anyo2' value='$ano' />\n".close(). } echo "</tr>\n".w3." + formulario_destino + ". $ano = date("Y". $tiempo_actual).0 Strict//EN" "http://www. $ano = date("Y".document.V. ?> </body> </html> ) E. "-" . $ano = $_GET["nuevo_ano"].css" rel="stylesheet" type="text/css" /> <link href="css/calendario.T. "-" . $dia. var campo_destino = '<?echo $_GET["nomcampo"]?>'.

break. break. case 12: $nombre_mes="Diciembre".T. return $numerodiasemana. break. break. case 4: $nombre_mes="Abril".0. case 2: $nombre_mes="Febrero".$mes. case 5: $nombre_mes="Mayo". E.$ano){ $ultimo_dia=28. "_reservar_instalacion. case 10: $nombre_mes="Octubre". } return $ultimo_dia. function calcula_numero_dia_semana($dia. break. if ($numerodiasemana == 0) $numerodiasemana = 6.$ultimo_dia + 1. } //Muestra el calendario. while (checkdate($mes.S. case 9: $nombre_mes="Septiembre". if (strcmp($tipo. $reservas.php"). break. break.$ano){ $numerodiasemana = date('w'. else $numerodiasemana--.$ano)).P. en este caso marcar dichas //fechas en el calencia function mostrar_calendario($dia. INST) == 0 ) { $url= $usuario . $usuario){ $mes_hoy=date("m").$ano)){ $ultimo_dia++.$dia.V.$ano. de Informática Aplicada (U.$mes. break. } function dame_nombre_mes($mes){ switch ($mes){ case 1: $nombre_mes="Enero".) 209 .php". } //funcion que devuelve el último día de un mes y año dados function ultimoDia($mes. break.0. $tipo. $ano_hoy=date("Y"). case 11: $nombre_mes="Noviembre". case 6: $nombre_mes="Junio". break. puede recibir una tablas con fechas //en que una instalacion ha sido reservada. break. case 3: $nombre_mes="Marzo". case 8: $nombre_mes="Agosto". case 7: $nombre_mes="Julio". break.$mes. mktime(0. } return $nombre_mes.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php include_once("bd.Vicente Sancho Guijarro Proyecto Final de Carrera calendario_ins.

V. //construyo la cabecera de la tabla echo "<table width=200 cellspacing=3 cellpadding=2 border=0><tr><td colspan=7 align=center class=tit>". //Variable para llevar la cuenta del dia actual $dia_actual = 1.php". //calculo el mes y ano del mes siguiente $mes_siguiente = $mes + 1.font-weight:bold.T.color:white>".$ano).S.text-decoration:none href=$url?dia=$dia&nuevo_mes=$mes_anterior&nuevo_ano=$ano_anterior>&lt. //calculo el mes y ano del mes anterior $mes_anterior = $mes . de Informática Aplicada (U. } Proyecto Final de Carrera //obtenemos if (($mes_hoy <> $mes) || ($ano_hoy <> $ano)) { $hoy=0. } //tomo el nombre del mes que hay que imprimir $nombre_mes = dame_nombre_mes($mes). echo "<table width=100% cellspacing=2 cellpadding=2 border=0><tr><td style=font-size:10pt. $mes_siguiente=01.1.$mes.P. $mes_anterior=12.) 210 . //comprobamos si la variable con las fechas reservadas esta inicializada if (isset($reservas)) { //eliminamos las reservas que nos son del actual anyo y mes foreach ( $reservas as $actual) { E. $ano_siguiente = $ano.color: white>". } echo "<a style=color:white. if ($mes_anterior==0){ $ano_anterior--. echo ' <tr> <td width=14% align=center class=altn>Lu</td> <td width=14% align=center class=altn>Ma</td> <td width=14% align=center class=altn>Mi</td> <td width=14% align=center class=altn>Ju</td> <td width=14% align=center class=altn>Vi</td> <td width=14% align=center class=altn>Sa</td> <td width=14% align=center class=altn>Do</td> </tr>'. if ($mes_siguiente==13){ $ano_siguiente++. //calculo el numero del dia de la semana del primer dia $numero_dia = calcula_numero_dia_semana(1.</a></td></tr></table></td></tr>". echo "<td align=right style=font-size:10pt.</a></td>".&gt. } echo "<a style=color:white. } else { $hoy=date("d").$ano). &lt.text-decoration:none href=$url?dia=$dia&nuevo_mes=$mes_siguiente&nuevo_ano=$ano_siguiente> &gt.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 } else //aqui solo puede llegar los profesores { $url="Profesor_reservar_equipacion. //echo "Numero del dia de demana del primer: $numero_dia <br>".font-weight:bold. //calculo el último dia del mes $ultimo_dia = ultimoDia($mes. echo "<td align=center class=tit>$nombre_mes $ano</td>". $nodis = array(). $ano_anterior = $ano.

215 } 216 } 217 echo "</tr>". me pongo al principio de la semana 226 y escribo el </tr> 227 E.V.'>$dia_actual</a></td>\n". 202 } 203 204 else 205 { 206 207 echo "<td class=laborable><a href='javascript:cambiar( 208 $dia_actual). 218 219 //recorro todos los demás días hasta el final del mes 220 $numero_dia = 0. 177 } 178 else if ($dia_actual == $dia) //Dia seleccionado 179 { 180 echo "<td class=da>$dia_actual</td>\n". 181 } 182 else 183 { 184 echo "<td class=da>$dia_actual</td>\n". $nodis )) 190 { 191 echo "<td class=nd>$dia_actual</td>\n". 185 } 186 } 187 else 188 { 189 if (in_array($dia_actual.'>$dia_actual</a></td>\n".$i<7. 170 if (in_array($dia_actual. 192 } 193 else if ($dia_actual == $hoy) 194 { 195 echo "<td class=laborable><a href='javascript:cambiar( 196 $dia_actual). 173 } 174 else if ($dia_actual == $hoy) 175 { 176 echo "<td class=da>$dia_actual</td>\n".P.T. 160 for ($i=0. de Informática Aplicada (U. 225 //si es el uñtimo de la semana. 221 while ($dia_actual <= $ultimo_dia){ 222 //si estamos a principio de la semana escribo el <TR> 223 if ($numero_dia == 0) 224 echo "<tr>".) 211 . 165 } else { 166 if (($i == 5) || ($i == 6)) 167 { 168 //comprobamos si esta fecha esta en la tabla de las 169 //fechas reservadas.$i++){ 161 if ($i < $numero_dia){ 162 //si el dia de la semana i es menor que el numero del primer 163 dia de la semana no pongo nada en la celda 164 echo "<td></td>".Vicente Sancho Guijarro Proyecto Final de Carrera 151 if ( $actual["anyo"] == $ano && $actual["mes"] == $mes) 152 { 153 $nodis [] = $actual["dia"].S. 209 210 } 211 212 213 } 214 $dia_actual++. 197 } 198 else if ($dia_actual == $dia) //Dia seleccionado 199 { 200 echo "<td class=laborable><a href='javascript:cambiar( 201 $dia_actual). $nodis )) 171 { 172 echo "<td class=nd>$dia_actual</td>\n". 154 } 155 } 156 } 157 158 //escribo la primera fila de la semana 159 echo "<tr>".'>$dia_actual</a></td>\n".

'>$dia_actual</a></td>\n".) 212 .S. $nodis )) { echo "<td class=nd>$dia_actual</td>\n". } else if ($dia_actual == $dia) //Dia seleccionado { //echo "<td class=da><a href=calendario. E. } echo "</tr>\n". $numero_dia++. } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class=laborable ><a href='javascript:cambiar( $dia_actual). } else if ($dia_actual == $hoy) { //echo "<td class=da><a href=calendario. echo "</table>\n". } else { //echo "<td class=fs ><a href=calendario.P. } } else { if (in_array($dia_actual. } } $dia_actual++. echo "<td class=da>$dia_actual</td>\n". } } //compruebo que celdas me faltan por escribir vacias de la última semana del mes for ($i=$numero_dia.'>$dia_actual</a></td>\n". //echo "<input type='hidden' name='mes2' value='$mes' />\n".V. } else { echo "<td class=laborable ><a href='javascript:cambiar( $dia_actual). echo "<td class=da>$dia_actual</td>\n". php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>".Vicente Sancho Guijarro 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 Proyecto Final de Carrera //De momento no se permite reservar una instalacion los //fines de semana if (($numero_dia == 5) || ($numero_dia == 6)) { if (in_array($dia_actual.'>$dia_actual</a></td>\n". if ($numero_dia == 7) { $numero_dia = 0.T. php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>". $nodis )) { echo "<td class=nd>$dia_actual</td>\n". echo "<td class=da>$dia_actual</td>\n". } else if ($dia_actual == $hoy) { echo "<td class=laborable ><a href='javascript:cambiar( $dia_actual).$i++){ echo "<td></td>\n". echo "</tr>\n". php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>". de Informática Aplicada (U.$i<7.

P.S.V.Vicente Sancho Guijarro 305 306 } Proyecto Final de Carrera //echo "<input type='hidden' name='anyo2' value='$ano' />\n".T. de Informática Aplicada (U. E.) 213 .

(PROFE. apunta al fichero // que las tiene) function listado_instalacion() { $link = Conectar(). //devuelve una tabla con el id de las instalaciones.P. $tabla[$i]["instalacion"] = $fila["instalacion"].Vicente Sancho Guijarro Proyecto Final de Carrera profesor_inc. $sql = "SELECT * FROM instalacion".S. 4). $sql = "SELECT * FROM equipacion". (CLAVE_REPETIDA. $tabla[$i]["equipacion"] = $fila["equipacion"]. //el nombre de la equipacion y las normas //Acceso: // idequipacion => id de la equipacion // equipacion => nombre de la equipacion // normas => ruta para llegar a las normas de la equipacion // (no contiene las normas. Solo habra que cambiarlo de aqui //el maximo que podria soportar la tabla en mysql es de 65535 caracteres define( MAX_LENGTH_MOTIVO. while ($fila = siguiente($resultado)) { $tabla[$i]["idequipacion"] = $fila["idequipacion"]. 1500). //el nombre de la instalacion y las normas //Acceso: // idinstalacion => id de la instalacion // instalacion => nombre de la instalacion // normas => ruta para llegar a las normas de la instalacion // (no contiene las normas. if($_SESSION["tipo"] != "Profesor") header("Location: prohibido. 1062).php"). de Informática Aplicada (U. apunta al fichero // que las tiene) function listado_equipacion() { $link = Conectar().php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php define define define define define (INST.T. $tabla[$i++]["normas"] = $fila["normas"]. } Desconectar ($link). session_start(). $link). //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. "Profesor"). (EQUIP. (TRIMESTRE. return $tabla. while ($fila = siguiente($resultado)) { $tabla[$i]["idinstalacion"] = $fila["idinstalacion"].php". //ejecutamos la consulta $resultado = consulta ($sql. E.) 214 . "INSTALACION"). //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. //el maximo de la longitud del motivo para reservar una instalacion //o equipamiento. //ejecutamos la consulta $resultado = consulta ($sql. "EQUIPACION"). $link). require_once "bd. } //devuelve una tabla con el id de las equipaciones.V.

} //Devuelve una tabla con las reservas de equipamientos que //ha efectuado el usuario. $res_ins = consulta ($sql_ins. function listado_reservas_equipaciones() { $link = Conectar(). } else { $tabla[$i]["idinst"] = -1. //ejecutamos la consulta $resultado = consulta ($sql."'". $sql = "SELECT * FROM res_ins WHERE login = '" . //ejecutamos la consulta E. //$tabla[$i]["fecha"] = $fila["fecha"].V. $fila["idinstalacion"] . $link). $sql_ins = "SELECT * FROM instalacion WHERE idinstalacion = '" . $tabla[$i]["instalacion"] = $ins["instalacion"]. $_SESSION["id"] .) 215 . $tabla[$i]["proposito"] = $fila["proposito"]. apunta al fichero // que las tiene) // fecha => fecha de la reserva con formato "mm-dd-aa hh:mm:ss" // proposito => Motivo de la reserva (introducido por el usuario // cuando realiza la reserva. function listado_reservas_instalaciones() { $link = Conectar().S. $tabla[$i++]["normas"] = "Normas no encontradas". //El usuario se obtiene de la sesion iniciada //Acceso: // idequi => id de la equipacion // equipacion => nombre de la equipacion // normas => ruta para llegar a las normas de la equipacion // (no contiene las normas. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. $link). //El usuario se obtiene de la sesion iniciada //Acceso: // idinst => id de la instalacion // instalacion => nombre de la instalacion // normas => ruta para llegar a las normas de la instalacion // (no contiene las normas. $sql = "SELECT * FROM res_equi WHERE login = '" . $_SESSION["id"] . $tabla[$i++]["normas"] = $ins["normas"]. return $tabla."'".T. $tabla[$i]["instalacion"] = "Instalacion desconocida". } Proyecto Final de Carrera //Devuelve una tabla con las reservas de instalaciones que //ha efectuado el usuario.P. apunta al fichero // que las tiene) // fecha => fecha de la reserva con formato "mm-dd-aa hh:mm:ss" // proposito => Motivo de la reserva (introducido por el usuario // cuando realiza la reserva. return $tabla. } Desconectar ($link). } } Desconectar ($link).Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 $tabla[$i++]["normas"] = $fila["normas"]. de Informática Aplicada (U. "'". if ($ins) { $tabla[$i]["idinst"] = $ins["idinstalacion"]. $tabla = null. while ($fila = siguiente($resultado)) { $tabla[$i]["fecha"] = $fila["fecha"]. $ins = siguiente($res_ins).

$link). $correcto =false. $tabla = null. } $result = consulta ($sql. $correcto =false. $tabla[$i]["equipacion"] = $ins["equipacion"]. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. "</p>\n". } } else { //echo"<p>Operacion NO efectuada</p>\n". $res_ins = consulta ($sql_ins. if ( $filas == 0 ) { //echo "La reserva ya hab&iacute. } else { //echo "La reserva ha sido eliminada". $link). } else { $tabla[$i]["idequipacion"] = -1.a sido eliminada". $tabla[$i]["proposito"] = $fila["proposito"]. //$tabla[$i]["fecha"] = $fila["fecha"].T.S. } else { $sql = "DELETE FROM `res_equi` WHERE CONVERT(`res_equi`.`login` USING utf8)='$login' AND `res_ins`. $tabla[$i++]["normas"] = "Normas no encontradas".Vicente Sancho Guijarro 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 $resultado = consulta ($sql.P. $iditem. //echo"<p>Error: " .`idequipacion`=$iditem AND `res_equi`.`login` USING utf8)='$login' AND `res_equi`. $link). } } Desconectar ($link). $correcto =true. $tabla[$i]["equipacion"] = "Equipacion desconocida". if($result) { $filas = mysql_affected_rows(). $tabla[$i++]["normas"] = $ins["normas"]. $fecha. return $tabla.`fecha`='$fecha' ". mysql_error($link) . } //Esta funcion elimina una reserva del usuario dado una fecha y el //id del item y el tipo (instalacion o equipamiento function anular_reserva($login. if ($ins) { $tabla[$i]["idequipacion"] = $ins["idequipacion"]. while ($fila = siguiente($resultado)) { $tabla[$i]["fecha"] = $fila["fecha"]. //echo"SQL: $sql".`fecha`='$fecha' ". $fila["idequipacion"] . if ($item == INST) { $sql = "DELETE FROM `res_ins` WHERE CONVERT(`res_ins`. E. de Informática Aplicada (U.V. $item) { $link = Conectar().) 216 .`idinstalacion`=$iditem AND `res_ins`. "'". $ins = siguiente($res_ins). Proyecto Final de Carrera $sql_ins = "SELECT * FROM equipacion WHERE idequipacion = '" .

$link = Conectar().$motivo. $tabla[$i++]["anyo"] = $trozo[2]. return $tabla. `idinstalacion`. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. anyo) y hora(hora. "\n<br>". "-" .`idequipacion`=$iditem" . fecha(dia. $item) { $fecha = $anyo . } Desconectar ($link). `fecha`. /*$sql = "INSERT INTO `webcole`. $trozo = explode ("-".P. $min . min. $link).$min.`res_ins` (`login`. $tabla.Vicente Sancho Guijarro 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 $correcto =false. $hora . $mes . de Informática Aplicada (U.$mes. } Proyecto Final de Carrera //Obtiene los dias en que esta reservado una instalacion dada //Devuelve una tabla con las fechas //Acceso: // dia // mes // anyo //Parametros recibido // id de una instalacion function fecha_reservas($iditem. return. `proposito`) VALUES (\'$login\'. return $correcto. //echo " fecha: " . } //Permite hacer una reserva //Recibe como parametros //Login del usuario. } else { $sql = "SELECT fecha FROM `res_equi` WHERE `res_equi`. ":" . "-" .$dia. seg) //el codigo del item a reservar (puede ser una instalacion o un //equipamiento y el motivo //Devuelve: // True si reveserva se pudo hacer // Falso en caso contrario function reservar_instalacion($login.`idinstalacion`=$iditem" . ": " .T. $seg.$anyo. $tabla[$i]["dia"] = $trozo[0]. mes.) 217 . while ($fila = siguiente($result)) { $fecha = sacarFecha($fila["fecha"]). E.$iditem.S. " " .$hora. $seg. $dia . } $result = consulta ($sql. $fecha . } Desconectar ($link). $fecha).V. $tabla[$i]["mes"] = $trozo[1]. } $link = Conectar(). $item) { if ( !isset($iditem) || $iditem == -1) { //echo "id instalacion no definido<br>\n". if ($item == INST) { $sql = "SELECT fecha FROM `res_ins` WHERE `res_ins`.

} $result = consulta ($sql.". } else { $sql = "INSERT INTO `webcole`. '$fecha'.`res_ins` (`login`.". p. $sql = "SELECT u. $tabla[$i]["apellido1"] = $fila["apellido1"]. `fecha`.apellido1". $tabla[$i]["apellido2"] = $fila["apellido2"]. } Desconectar ($link). \'$fecha\'. $tabla[$i]["email"] = $fila["email"]. `idinstalacion`. //echo "error: " .login ORDER BY u.S. `proposito`) VALUES ('$login'. de Informática Aplicada (U. while ($fila = siguiente($resultado)) { $tabla[$i]["nombre"] = $fila["nombre"]. `proposito`) VALUES ('$login'. usuario u WHERE p. '$iditem'. echo "error: " . } else { $tabla[$i]["tutorias"] = $fila["tutorias"].) 218 . */ if ($item == INST) { $sql = "INSERT INTO `webcole`. mysql_error($link). '$motivo'). if ($fila["tutorias"] == "null") { $tabla[$i]["tutorias"] = "Sin tutorias". //ejecutamos la consulta $resultado = consulta ($sql. '$iditem'. p.V.apellido2. E.Vicente Sancho Guijarro 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 \'$idins\'.tutorias FROM profesor p. return $result.email. u.`res_equi` (`login`. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. Desconectar ($link). $link). mysql_error($link). '$fecha'.nombre. `fecha`. `idequipacion`.P.T. u. $tabla = null. } Proyecto Final de Carrera //Obtiene el listado de todos los profesores del centro //Devuelve una tabla con la informacion de los profesores // Nombre : Nombre // apellido1 : Primer apellido del profesor // apellido2 : Segundo apellido del profesor // email : Direccion de correo del profesor // tutorias : Las tutorias del profesor function listado_profesores() { $link = Conectar().".apellido1.login=u. '$motivo'). \'$motivo\'). $link). } $i++.

mysql_error().T.Vicente Sancho Guijarro 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 return $tabla. //por cada asignatura sacamos sus datos $sql_asig = "SELECT nombre. Error: " . //ejecutamos la consulta $resultado = consulta ($sql. de Informática Aplicada (U. $link). } $sql = "SELECT letra FROM impartida WHERE asignatura='$codasig'".) 219 . $sql = "SELECT asignatura FROM imparte WHERE profesor='$login'". } else { //posible error en el codigo de la asignatura ¿mejor volver ya= return .V. $tabla["nombre"] = $fila["nombre"]. $tabla[$i]["horario"] = $fila_asig["horario"]. $tabla[$i]["codasig"]. $fila = siguiente($resultado). if ($fila) { $tabla["codasig"] = $codasig. horario FROM asignatura WHERE codigoasignatura=" . if ($fila) { $tabla["letra"] = $fila["letra"]. $tabla = null.S. $link = Conectar().P. //ejecutamos la consulta $resultado = consulta ($sql. curso. $res_asig = consulta ($sql_asig. } desconectar($link). //ejecutamos la consulta $resultado = consulta ($sql. E. $fila = siguiente($resultado). return $tabla. } else { echo "fallo la letra. } //Obtiene los datos de la asignatura que se le pasa como parametro function obtener_datos_asignatura($codasig) { $login = $_SESSION["id"]. $link). $link). } //Obtiene las asignaturas del profesor function asignaturas_profesor () { $login = $_SESSION["id"]. while ($fila_asig = siguiente($res_asig)) { $tabla[$i]["nombre"] = $fila_asig["nombre"]. $tabla["curso"] = $fila["curso"]. } $i++. $sql = "SELECT nombre. $link). horario FROM asignatura WHERE codigoasignatura='$codasig'". $tabla[$i]["curso"] = $fila_asig["curso"]. Proyecto Final de Carrera $link = Conectar(). $tabla["horario"] = $fila["horario"]. curso. $i = 0. //recorremos los resultados while ($fila = siguiente($resultado)) { $tabla[$i]["codasig"] = $fila["asignatura"].

$fila = siguiente($resultado). $fila_alu["apellido1"].apellido1". $curso = $fila["curso"].`nota` (`alumno`.". E. $nota) { $datos = obtener_datos_asignatura($codasig). '$codasig'. $fila_alu["apellido2"]. return $tabla.curso=$curso and alu.P. } else { echo "fallo la letra. login FROM usuario usu. if ($fila) { $tabla["aula"] = $fila["aula"]. usu. `asignatura`. $tabla["curso"] . '" . usu. Error: " .Vicente Sancho Guijarro 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 Proyecto Final de Carrera } $sql = "SELECT aula FROM grupo WHERE curso='" . $sql = "SELECT curso. $link = Conectar().S. while ($fila_alu = siguiente($res_alumno)) { $tabla[$i]["nombre"] $tabla[$i]["apellido1"] $tabla[$i]["apellido2"] $tabla[$i]["login"] $i++. return. } else { echo "fallo el aula. `nota`) VALUES ('$alumno'. $fila_alu["login"]. de Informática Aplicada (U. mysql_error(). $link). $datos["curso"] . login=usu. '$trimestre'. mysql_error(). $link). = = = = $fila_alu["nombre"]. //ejecutamos la consulta $resultado = consulta ($sql.T. $res_alumno = consulta ($sql_alumnos. } desconectar($link).V. $tabla[ "letra"] . //ejecutamos la consulta $resultado = consulta ($sql. $link). `trimestre`. } desconectar($link).) 220 . return $tabla.login ORDER BY usu. '$nota'). } function poner_nota($alumno. $trimestre. } //obtener los datos de los alumnos que estan en ese curso y letra $sql_alumnos = "SELECT usu. $sql = "INSERT INTO `webcole`.apellido2. "' and letra='" . } function obtener_alumnos_asignatura($codasig) { $link = Conectar(). "'. Error: " . "'".$codasig.nombre. usu. if ($fila) { $letra = $fila["letra"]. letra FROM impartida WHERE asignatura='$codasig'".letra='$letra' and alu. $fila = siguiente($resultado). `curso`. alumno alu WHERE alu.apellido1.

curso=$curso and alu.login 593 ORDER BY usu. 576 if ($fila) 577 { 578 $letra = $fila["letra"]. $link). 585 } 586 587 //obtener los datos de los alumnos que estan en ese curso y letra 588 $sql_alumnos = "SELECT usu.nota 603 FROM nota n 604 WHERE n.`nota` 546 SET `nota` = '$nota' 547 WHERE CONVERT(`nota`.`alumno` USING utf8) = 548 '$alumno' 549 AND `nota`.letra='$letra' and alu. " codigo: " .apellido1".S. 575 $fila = siguiente($resultado). 538 if (!$result) 539 echo "error: " .`asignatura` = $codasig 550 AND CONVERT(`nota`. entonces el alumno ya habia 541 sido 542 //puntuado.alumno='" .`trimestre` USING utf8) = 551 '$trimestre' 552 LIMIT 1. $link). alumno alu 591 WHERE alu.Vicente Sancho Guijarro Proyecto Final de Carrera 536 537 $result = consulta ($sql. 558 echo "error: " . 607 $res_nota = consulta ($sql_nota. de Informática Aplicada (U.V. Error: " . 559 mysql_errno(). usu. 543 if ( mysql_errno() == CLAVE_REPETIDA) 544 { 545 $sql_actualizar = "UPDATE `webcole`. 606 asignatura='$codasig'".P.T. $link). mysql_error($link) . $link).nombre. 565 } 566 567 function obtener_alumnos_asignatura_trimestre($codasig. 564 return $result. 589 login 590 FROM usuario usu.apellido2. 540 //si el error devuelto es CLAVE_REPETIDA. letra 571 FROM impartida 572 WHERE asignatura='$codasig'". 560 } 561 } 562 563 Desconectar ($link).". 595 596 if ($res_alumno) 597 { 598 while ($fila_alu = siguiente($res_alumno)) 599 { 600 //por cada alumno sacamos su nota para esa asignatura y 601 trimestre (si esta puesta) 602 $sql_nota = "SELECT n. 573 //ejecutamos la consulta 574 $resultado = consulta ($sql. usu. 608 $fila = siguiente($res_nota). por tanto deberemos actualizar la nota. 592 login=usu. 584 return. "' 605 and n.) 221 . mysql_errno(). 553 $res_actualizar = consulta ($sql_actualizar. 580 } 581 else 582 { 583 echo "fallo la letra. 579 $curso = $fila["curso"]. mysql_error(). 570 $sql = "SELECT curso. 594 $res_alumno = consulta ($sql_alumnos.apellido1. " codigo: " .trimestre='$trimestre' and n. 609 if ($fila) 610 { 611 $tabla[$i]["nota"] = $fila["nota"]. mysql_error($link) . $trimestre) 568 { 569 $link = Conectar(). usu. $link). 612 } E. 554 if ( !$res_actualizar ) 555 { 556 echo "Se produjo un error cuando se estaba actualizando la nota 557 del alumno $alumno<br>\n". $fila_alu["login"] .

$fila = siguiente($resultado). $fecha).P. de Informática Aplicada (U. } //Se recibe una fecha en formato dd-mm-aaaa //Se devuelve una fecha en formato aaaa-mm-dd function cambiar_a_date($fecha) { //$nuevafecha = "". mysql_error(). //echo "fallo la nota. } else { $tabla[$i]["justificada"] = "". $link). $fecha) { $alumnos = obtener_alumnos_asignatura($codasig). foreach ($alumnos as $actual) { $sql = "SELECT justificada FROM faltaasistencia WHERE asignatura='$codasig' and fecha='$fecha_mysql' and alumno='" . $actual["login"]. if ($fila) { $tabla[$i]["justificada"] = $fila["justificada"]. } $tabla[$i]["nombre"] = $fila_alu["nombre"]. if ($separada[0] < 10) { $separada[0] = "0" . E. Error: " . $fila_alu["login"] . $separada[0]. //echo "login vale : " . "-". $tabla[$i]["login"] = $fila_alu["login"]."'".T. $lon = count($alumnos). $tabla[$i]["fecha"] = "". } $i++. } $link = Conectar(). $separada[1] . $i++. } function obtener_faltas_alumnos ($codasig.V. //echo " sql vale: $sql_nota <br>\n". $nuevafecha = $separada[2] . } desconectar($link). $resultado = consulta ($sql. $separada = explode("-".S. } desconectar($link). return $tabla. //ejecutamos la consulta $tabla[$i] = $actual. $tabla[$i]["fecha"] = $fecha.) 222 . } else { $fecha_mysql = "0000-00-00". "<br>\n". if (isset($fecha)) { $fecha_mysql = cambiar_a_date($fecha).Vicente Sancho Guijarro 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 else { Proyecto Final de Carrera $tabla[$i]["nota"] = $fila[""]. } } else { echo "Se produjo un error al acceder a las notas del alumno<br>\n". $tabla[$i]["apellido2"] = $fila_alu["apellido2"]. "-" . $tabla[$i]["apellido1"] = $fila_alu["apellido1"]. return $tabla.

echo "error: " . //si el error devuelto es CLAVE_REPETIDA. mysql_errno(). " codigo: " . de Informática Aplicada (U. '$codasig'.Vicente Sancho Guijarro 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 } $nuevafecha . mysql_errno().`faltaasistencia` (`alumno`. $just) { $link = Conectar(). "<br>\n".) 223 . $link).V. `justificada`) VALUES ('$login'. } function quitar_falta($login. } //Funcion que devuelve los grupos que son tutorizados por un profesor. $fecha_mysql = cambiar_a_date($fecha). if (!$result) { echo "error: " . $link). } } } else { echo "ocurrio algo raro: " } Desconectar ($link). } function poner_falta($login. $link = Conectar(). `asignatura`. mysql_errno().`asignatura` = $codasig AND `faltaasistencia`. `fecha`. //el login del profesor lo obtenemos directamente de la sesion. mysql_error($link) .. por tanto deberemos actualizar la nota.<br>\n".". if ( !$resultado ) { echo "Se produjo un error cuando se estaba eliminado la falta de asistencia del alumno $login<br>\n". mysql_error($link) . mysql_error($link) . $fecha. $codasig. return $nuevafecha.`fecha` = '$fecha_mysql'".`fecha` = '$fecmysql' LIMIT 1. echo "error: " . " codigo: " .T. if ( !$res_actualizar ) { echo "Se produjo un error cuando se estaba actualizando la nota del alumno $login<br>\n". Proyecto Final de Carrera $sql = "INSERT INTO `webcole`. entonces el alumno ya habia sido //puntuado.`asignatura` = $codasig AND `faltaasistencia`.= $separada[0]. $fecha) { echo " se esta quitando una falta. $codasig.S. echo "login vale: $login<br>\n". mysql_error($link) . $resultado = consulta ($sql. $res_actualizar = consulta ($sql_actualizar.`alumno` USING utf8)= '$login' AND `faltaasistencia`. '$just'). $link). $sql= "DELETE FROM `faltaasistencia` WHERE CONVERT(`faltaasistencia`. $sql_actualizar = "UPDATE `webcole`. if ( mysql_errno() == CLAVE_REPETIDA) { echo "actualizando la falta del login: $login<br>\n".". E. '$fecmysql'. $result = consulta ($sql.. " codigo: " . // echo "nueva fecha vale: $nuevafecha<br>\n". } Desconectar ($link).`alumno` USING utf8) = '$login' AND `faltaasistencia`. $fecmysql = cambiar_a_date($fecha). .P.`faltaasistencia` SET `justificada` = '$just' WHERE CONVERT(`faltaasistencia`. return $result.

$sql = "SELECT curso. $tabla[$i]["delegado"] = $fila["delegado"].2. //$tabla[$i]["delegado"] = $fila["delegado"]. aula. $sql = "SELECT curso. } } else { echo "Se produjo un error al acceder a las notas del alumno<br>\n". if ($resultado) { while ($fila = siguiente($resultado)) { $tabla[$i]["codgrupo"] = $fila["curso"] . //echo "letra vale: $letra<br>\n".S. delegado FROM grupo WHERE tutor='$login' and curso='$curso' and letra='$letra'". "<br>\n". $letra. return. return $tabla. delegado FROM grupo WHERE tutor='$login'". $fila["letra"].V. //ejecutamos la consulta $resultado = consulta ($sql. E. //ejecutamos la consulta $resultado = consulta ($sql. "-" . /* $link = Conectar().) 224 . $link). de Informática Aplicada (U. $link = Conectar(). $i++. } desconectar($link).Vicente Sancho Guijarro 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 Proyecto Final de Carrera //Se devuelve una tabla con todos los datos del grupo tutorizado function obtener_grupos_tutorizados() { $login = $_SESSION["id"]. $tabla[$i]["aula"] = $fila["aula"]. $login = $_SESSION["id"]. } // //El formato del codgrupo es "curso-letra" function obtener_datos_grupo ($codgrupo) { $curso = substr($codgrupo. $i++. aula. letra FROM grupo WHERE tutor='$login'". "-" . 1). return.P. } } else { echo "Se produjo un error al acceder a las notas del alumno<br>\n". //ejecutamos la consulta $resultado = consulta ($sql. $tabla[$i]["letra"] = $fila["letra"]. echo "grupo vale:" . 1). $letra = substr($codgrupo. $tabla[$i]["letra"] = $fila["letra"]. //$tabla[$i]["aula"] = $fila["aula"]. letra.0. if ($resultado) { if ($fila = siguiente($resultado)) { $tabla["codgrupo"] = $curso . letra. if ($resultado) { while ($fila = siguiente($resultado)) { $tabla[$i]["curso"] = $fila["curso"]. $tabla[$i]["codgrupo"] . } */ $link = Conectar(). $link). $link). $sql = "SELECT curso. //echo "curso vale: $curso<br>\n". $tabla[$i]["curso"] = $fila["curso"].T.

if ($fila_alu = siguiente($res_alumno)) { $tabla["del_nombre"] = $fila_alu["nombre"]. $i++. return $tabla.$fila_alu["usu. login=usu. Proyecto Final de Carrera if (isset($fila["delegado"])) { $sql_alumnos = "SELECT usu. $letra = substr($codgrupo. echo "letra vale: $letra<br>\n".nombre.V. E. "<br>\n". $tabla[$i]["apellido1"] = $fila_alu["apellido1"].login FROM usuario usu WHERE usu.curso='$curso' and alu. $tabla[$i]["codgrupo"] . de Informática Aplicada (U. 1). usu.apellido2. $tabla[$i]["apellido2"] = $fila_alu["apellido2"]. usu.login"].login='" . return.$fila_alu["login"]. alumno alu WHERE alu.apellido2.S. $fila["aula"]. } //echo "aula vale " . } } else { echo "Se produjo un error al acceder a las notas del alumno<br>\n". nombre. echo "sql vale: $sql_alumnos<br>\n". $tabla["del_ape1"] = $fila_alu["apellido1"]."<br>\n". $res_alumno = consulta ($sql_alumnos. $fila["delegado"] . } } else { $tabla["del_nombre"] = "".letra='$letra' and alu.) 225 . "'".P. } function obtener_alumnos_grupo($codgrupo) { $curso = substr($codgrupo. while ($fila_alu = siguiente($res_alumno)) { echo "login vale: " . $link = Conectar().apellido1".Vicente Sancho Guijarro 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 $tabla["curso"] $tabla["letra"] $tabla["aula"] $tabla["delegado"] = = = = $curso. $tabla["del_ape2"] = $fila_alu["apellido2"]. 1).2. usu. $link). // echo "grupo vale:" . $tabla["del_ape1"] = "". if ($res_alumno) { echo "dentro if<br>\n". usu. $fila["delegado"]. $tabla[$i]["nombre"] = $fila_alu["nombre"]. $tabla["del_ape2"] = "".apellido1. "<br>\n". $res_alumno = consulta ($sql_alumnos. echo "curso vale: $curso<br>\n". } desconectar($link).0. $fila["aula"] . $i = 0. usu.login ORDER BY usu."<br>\n". $tabla[$i]["login"] = $fila_alu["login"]. usu. login FROM usuario usu.T. $link). $login = $_SESSION["id"]. $letra. //obtener los datos de los alumnos que estan en ese curso y letra $sql_alumnos = "SELECT usu. echo "login vale: " . } else { echo "fila nula<br>\n".apellido1.

'"'. $fechaComparar = "".errno().$fecha[2]. "NULL") == 0) { $sql = "UPDATE `webcole`. $resultado = consulta($sql. } desconectar($conn).`grupo` SET `delegado` = '$alumno' WHERE CONVERT(`grupo`.0. $i<3 && $i<numeroFilas($res). } function hacer_delegado($codgrupo.`curso` USING utf8) = '$curso' AND CONVERT(`grupo`. } desconectar($link).$i++) echo "<p><span class='fechaNoticia'>". desconectar($dp).$fecha[0]. $row['nombre'].) 226 .`curso` USING utf8) = '$curso' AND CONVERT(`grupo`.S. function rellenar_eventos_curso() { $conn = Conectar().sacarFecha($row[ "fecha"]). $letra = substr($codgrupo. if (strcmp ($alumno." .$conn).2. Desconectar ($link). mysql_errno().$fecha[1]." . echo "<br/>\n<a href='/webcole/cerrar_sesion.P.php'>Cerrar E.sacarFecha($row["fecha"])). 1).`grupo` SET `delegado` = NULL WHERE CONVERT(`grupo`. } $link = Conectar().tohtml($row["descripcion"]). while($row = siguiente($resultado)) echo 'Bienvenido ' . return $tabla. 1). while($row = siguiente($res)) { $fecha=split("-". //devolver ok o ko } " codigo: " . $result = consulta ($sql. $res=consulta($sql.`letra` USING utf8) = '$letra' LIMIT 1.V. mysql_error($link) .php"). } else { $sql = "UPDATE `webcole`. $_SESSION["id"] . } function bienvenida() { //include("bd. $link). $alumno) { $curso = substr($codgrupo." </span>".`letra` USING utf8) = '$letra' LIMIT 1." </p> ".T. return $result. de Informática Aplicada (U.Vicente Sancho Guijarro 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 } } else { Proyecto Final de Carrera echo "se produjo un error en obtener_alumnos_grupo ". if (!$result) echo "error: " . echo mysql. if($fechaComparar >= date("Ymd")) for($i=0. $sql = 'SELECT * FROM usuario WHERE login ="' . $dp). $dp = Conectar(). $sql="SELECT * FROM evento WHERE titulo = 'Curso' ORDER BY fecha".

) 227 . Proyecto Final de Carrera E.S.T.V.n</a>". de Informática Aplicada (U.P.Vicente Sancho Guijarro 998 999 } 1000 1001 1002 ?> sesi&oacute.

font-size:18px'> Intranet Profesor </p> <p> <?php //include("bd. tohtml($row['nombre']). ".n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .0 Strict//EN" "http://www. org/TR/xhtml1/DTD/xhtml1-strict.js"> </script> <link href="css/principal. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1." class="logo">&nbsp. $sql = "SELECT * FROM usuario WHERE login = '" .php">Tabl&oacute.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.php">Instalaciones </a> </li> <li><a href="/webcole/Profesor_equipaciones. ?> </td> E. tohtml($row[ 'apellido2']) .V.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". desconectar($conn)./js/fecha. echo tohtml($row['apellido1']) .</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. font-weight: bold. $_SESSION[ "id"] .w3. $conn).T.Vicente Sancho Guijarro Proyecto Final de Carrera intranetProfe. $conn = Conectar().</td> <td colspan="2" class="titulo">&nbsp.dtd"> <html xmlns="http://www.P.</td> </tr> <tr> <td class="fecha">&nbsp.w3.) 228 .php">Equipamientos</a>< /li> <li><a href="/webcole/Profesor_tablon. ?></td> <td colspan="2" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso().php".S.php">Faltas asistencia </a>< /li> <li><a href="/webcole/Profesor_instalaciones.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas. " " . charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. de Informática Aplicada (U. " ."'".css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores. $row = siguiente($resultado).php").</td> </tr> <tr> <td><?php bienvenida().php">Profesores</a></li> <li><a href="/webcole/Profesor_notas. ?> </p> </td> <td class="general">&nbsp. $resultado = consulta($sql.

T.S.Vicente Sancho Guijarro 74 </tr> 75 </table> 76 </body> 77 </html> Proyecto Final de Carrera E.V.P.) 229 . de Informática Aplicada (U.

} } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1." class="logo">&nbsp.w3.value."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.0 Strict//EN" "http://www. de Informática Aplicada (U.php". org/TR/xhtml1/DTD/xhtml1-strict.location. if (!isset($codasig)) { $codasig = -1. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. } else { $encontrado = false. document.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".$codasig ) == 0) { $encontrado = true.T.P. ?> <?php //leemos los datos recibidos (si se reciben) $codasig = $_REQUEST["codasig"].) 230 .</td> </tr> <tr> <td class="fecha">&nbsp.asignatura.idasig.js"> </script> <script type="text/javascript" > <!-function buscarasignatura() { //var id = document.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.</td> <td colspan="2" class="titulo">&nbsp.V.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php?codasig=' + id .css" rel="stylesheet" type="text/css" /> <link href="css/principal. } --> </script> <link href="css/principal.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.S. var id = document.w3. } } if (!$encontrado) { $codasig = -1./js/fecha.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.css" rel="stylesheet" type="text/css" /> <link href="css/profesor.dtd"> <html xmlns="http://www.value. $asignaturas = asignaturas_profesor(). foreach ($asignaturas as $actual ) { if ( strcmp($actual["codasig"].php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.php">Notas</a></li> E.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_alumnos.idasig.getElementById("asignatura").php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.href='/webcole/Profesor_alumnos.

"' selected='selected'>" . $asig["codasig"].height: 100%" border="1" class="general"> <tr> <td style="height: 39px. } ?> </select> </p> </form> <br/> <table style="text-align: center. "'>" . $clase = $datos["aula"]. tohtml($asig["nombre"]) . width: 100%.P.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera <li><a href="/webcole/Profesor_faltas." >< ?php echo $codigo ?>&nbsp.</div></td> </tr> <tr> E.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon. $curso = "----"." class='cabecera'><div style="text-align: right" ><strong>Nombre Asignatura </strong>< /div></td> <td style="width: 25%. $curso = $datos["curso"]." ><strong>C&oacute."> <p style='text-align: center . $codigo = "----"."><div style="text-align: center."><?php echo $nombre ?>&nbsp.n de anuncios </a></li> </ul> </td> <td class="general" style="text-align: center. else echo "<option value='" .) 231 . $horario = $datos["horario"]. $letra = "-"."> <option value='-1'>Selecciona una asignatura</option> <?php foreach ($asignaturas as $asig) { if ( $codasig == $asig["codasig"]) echo "<option value='" . font-weight: bold. tohtml($asig["nombre"]) . "</option>\n".php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.php">Tabl&oacute. de Informática Aplicada (U. } else { //recuperamos los datos $datos = obtener_datos_asignatura($codasig).php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.V.digo Asignatura </strong></div> </td> <td style="width: 25%.T. $letra = $datos["letra"]. font-size:18px'> Alumnos del profesor </p> <div style="text-align: center. $nombre = $datos["nombre"]. $asig["codasig"]. width: 25%. $codigo = $codasig.">Asignaturas disponibles <select name="idasig" onchange="javascript:buscarasignatura(). "</option>\n". } //Obtenemos los datos necesarios para rellenar la tabla if ( $codasig <= 0 ) { $nombre = "----".S."><div style="text-align: center. $alumnos = obtener_alumnos_asignatura($codasig). $clase = "----"." class='cabecera'><div style="textalign: right.</div></td> <td style="width: 25%. $horario = "----"."> <form method='get' action='#' id="asignatura"> <p style="font-weight: bold.

200 echo" <td><div style=\"text-align: center.\"> " .</td> 211 </tr> 212 <tr> 213 <td><?php 214 bienvenida().Vicente Sancho Guijarro Proyecto Final de Carrera 151 <td style="height: 34px. 219 ?> 220 </td> 221 </tr> 222 </table> 223 </body> 224 </html> E. 215 ?></td> 216 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 217 <?php 218 rellenar_eventos_curso().S." ><?php echo $curso ?> 154 &nbsp."><div style="text-align: right. 203 $i++. 192 echo"<tr class='fila" ."><?php echo $clase ?>&nbsp."><?php echo $horario ?> 164 &nbsp. 196 echo" <td><div style=\"text-align: center. tohtml($actual["apellido1"]) . 193 echo" <td style=\"height: 34px."><?php echo $letra ?>&nbsp. "</div></td>\n".\"><div style=\"text-align: 194 center. 198 echo" <td><div style=\"text-align: center.\"> " . $resto .) 232 . "'>\n"."><strong>Alumnos</strong></div></td> 173 </tr> 174 <tr> 175 <td style="height: 34px. 158 </div></td> 159 </tr> 160 <tr> 161 <td style="height: 34px.P."><strong>Primer Apellido </strong></div></td> 177 <td class='cabecera'><div style="text-align: center. " </div></td> 195 \n"."><strong>Horario</strong></div></td> 163 <td><div style="text-align: center." colspan="4"><div style="text-align: 172 center.</div></td> 165 <td class='cabecera'><div style="text-align: right. tohtml( 199 $actual["nombre"]).\"> " .T.\" >" . tohtml( 201 $actual["login"]) . 188 foreach ($alumnos as $actual) 189 { 190 191 $resto = $i % 2. 168 </div></td> 169 </tr> 170 <tr> 171 <td style="height: 34px." class='cabecera'><div style="text176 align: center."><strong> 182 Login</strong></div></td> 183 </tr> 184 <?php 185 if (isset($alumnos)) 186 { 187 $i = 0." 152 class='cabecera'><strong>Curso</strong></div></td> 153 <td><div style="text-align: center. 204 } 205 } 206 ?> 207 </table> 208 </div> 209 </td> 210 <td class="general">&nbsp.</div></td> 155 <td class='cabecera'><div style="text-align: right." class='cabecera'><div style="text162 align: right. tohtml( 197 $actual["apellido2"]) . de Informática Aplicada (U. " </div></td>\n"."><strong> 180 Nombre</strong></div></td> 181 <td class='cabecera'><div style="text-align: center."><strong> 178 Segundo Apellido </strong></div></td> 179 <td class='cabecera'><div style="text-align: center."><strong> 156 Letra</strong></div></td> 157 <td><div style="text-align: center.V. 202 echo"</tr>\n"."><strong> 166 Clase</strong></div></td> 167 <td><div style="text-align: center. " </div></td>\n".

de Informática Aplicada (U.' class='cabecera'>E-mail</td> 20%.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.' class='cabecera'>Segundo 20%.T.' class='cabecera'>Nombre</td> 20%. echo " <td style='width: \n".php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.P. echo " <td style='width: \n".dtd"> <html xmlns="http://www.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.css" rel="stylesheet" type="text/css" /> <link href="css/profesor.' class='cabecera'>Primer 20%.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.</p> <table border="1" style='width: 100%.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.js"> </script> </head> <body onload="javascript:displayTime()./js/fecha.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_profesores.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".css" rel="stylesheet" type="text/css" /> <link href="css/principal. org/TR/xhtml1/DTD/xhtml1-strict.&nbsp. echo " <td style='width: /td>\n". charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.' class='cabecera'>Tutorias< $i = 0."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.blico Emilio Lluch&nbsp.php".</td> </tr> <tr> <td class="fecha">&nbsp. 20%.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.'> <?php $profesores = listado_profesores().">Profesores del Colegio P&uacute. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. echo " <td style='width: apellido</td>\n". echo " <td style='width: apellido</td>\n".</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.php">Tabl&oacute. echo "</tr>\n".V.</td> <td colspan="2" class="titulo">&nbsp.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc. foreach ($profesores as $actual) E.0 Strict//EN" "http://www.n de anuncios </a></li> </ul> </td> <td class="general"><p style="font-weight: bold." class="logo">&nbsp.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.) 233 .S. echo "<tr >\n".w3.w3.

P. 100 ?> 101 </td> 102 </tr> 103 </table> 104 </body> 105 </html> E. $actual["tutorias"] . "</td>".S. de Informática Aplicada (U. 79 echo "<td>" . "</td>". 78 echo "<td>" .V. "'>\n". "</td>". $actual["email"] . 76 echo "<tr class='fila" . "</a></td>". "</td>". "'>" . 83 echo "</tr>\n". tohtml($actual["apellido1"]) .T. 81 $actual["email"] .</td> 92 </tr> 93 <tr> 94 <td><?php 95 bienvenida(). tohtml($actual["nombre"]) . 96 ?></td> 97 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 98 <?php 99 rellenar_eventos_curso(). 82 echo "<td>" . 80 echo "<td><a href='mailto:" . $resto .) 234 .Vicente Sancho Guijarro Proyecto Final de Carrera 74 { 75 $resto = $i % 2. 86 } 87 ?> 88 89 </table> 90 </td> 91 <td class="general">&nbsp. 77 echo "<td>" . 84 85 $i++. tohtml($actual["apellido2"]) .

$lognota[1]).?>&codasig=<? echo $codasig. } else { header("Location: Profesor_notas. org/TR/xhtml1/DTD/xhtml1-strict. $aux = explode(":".w3.Vicente Sancho Guijarro Proyecto Final de Carrera guardar_notas. charset=iso-8859-1" /> <META HTTP-EQUIV="Refresh" CONTENT="0.".css" rel="stylesheet" type="text/css" /> </head> <body></body></html> E. foreach ($alu_notas as $actual) { if(strlen($actual) > 1) { $lognota = explode(". $nota = $aux[1]. poner_nota($login. //echo "Login vale: $login. } } } else { $codasig $trimestre $login $nota = = = = $_REQUEST["asignatura"].T. $trimestre.V. $datos). $nota). $nota).php"). $_REQUEST["trim"].?>"> <title>CP Emilio Lluch</title> <link href="css/general. Nota vale: $nota<br>\n". = $_REQUEST["trimestre"].css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". = $_REQUEST["datos"].0 Strict//EN" "http://www. $login = $aux[1]. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. $actual). $aux = explode(":".js"> </script> <link href="css/principal. $codasig $trimestre $datos = $_REQUEST["asignatura"]. //separamos los alumnos (con sus notas) unos de otros $alu_notas = explode( "|" . if (isset($codasig) && isset($trimestre) && isset($datos) ) { //echo "datos vale: $datos<br>\n". $lognota[0]).) 235 .org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php?trimestre=<? echo $trimestre.php").w3. $_REQUEST["login"]. $codasig.php". } } //header("Location: Profesor_notas.dtd"> <html xmlns="http://www. de Informática Aplicada (U./js/fecha.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 <?php require_once "profesor_inc.S. $_REQUEST["nota"].URL=Profesor_notas.P. if (isset($codasig) && isset($trimestre) && isset($login) && isset( $nota)) { poner_nota($login. $codasig. $trimestre.

</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.V. de Informática Aplicada (U.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.w3.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.php".org/TR/xhtml1/DTD/xhtml1-transitional.T.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc./js/fecha.js"> </script> <link href="css/principal.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores. $trimestre = $_REQUEST["trimestre"].) 236 . ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.css" rel="stylesheet" type="text/css" /> <link href="css/profesor." class="logo">&nbsp.dtd"> <html xmlns="http://www. font-weight: bold.P. w3.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_notas.S."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.js"> </script> <script type="text/javascript" src=".</td> <td colspan="2" class="titulo">&nbsp.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp. } //Si las dos variables estan definidas deberemos buscar los datos que necesitaran.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php">Tabl&oacute. if (!isset($codasig)) { $codasig = -1. } if (!isset($trimestre)) { $trimestre = -1.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center . font-size:18px'> Notas </p> <div align="center"> <form name='asignatura' method='get' action='#'> <br /> <strong>Asignaturas disponibles</strong> E./js/profesor.</td> </tr> <tr> <td class="fecha">&nbsp.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones. ?> <?php //leemos los datos recibidos (si se reciben) $codasig = $_REQUEST["codasig"].php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.

P. tohtml( $asig["nombre"]) . $asig["codasig"]. de Informática Aplicada (U. else echo "<option value='" . $letra = $datos["letra"]. $horario = "----"."> <? echo"<option value=\"-1\">Trimestre</option>\n". } else { //recuperamos los datos $datos = obtener_datos_asignatura($codasig). $horario = $datos["horario"]. } else { echo"<option value=\"$i\" >$i</option>\n". $codigo = $codasig. "</option>\n".) 237 .T. foreach ($asignaturas as $asig) { if ( $codasig == $asig["codasig"]) echo "<option value='" ."> <option value='-1'>Selecciona una asignatura</option> <?php $asignaturas = asignaturas_profesor(). $clase = "----". '> E. $i++) { if ( $trimestre == $i) { echo"<option value=\"$i\" selected=\"selected\">$i< /option>\n". height:100%. } ?> <br /> <br /> <strong>Trimestre por defecto</strong> <select name="trimestre" onchange="javascript:cambio_trimestre(). $nombre = $datos["nombre"]. $codigo = "----".' border="1" class="general"> <tr> <td style='width: 25%.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera <select name="idasig" onchange="javascript:buscarasignatura(). $clase = $datos["aula"].' class="cabecera"> Nombre Asignatura </td> <td style='width: 25%. $trimestre). $alumnos = obtener_alumnos_asignatura_trimestre($codasig. for ($i = 1. $asig["codasig"]. $curso = $datos["curso"].S. $curso = "----". tohtml($asig["nombre"]) . $letra = "-". $i <= TRIMESTRE.V. "</option> \n". } ?> </select> <? //Obtenemos los datos necesarios para rellenar la tabla if ( $codasig <= 0 ) { $nombre = "----". font-weight: bold. text-align: center . } } ?> </select> </form> </div> <br /> <table style='width: 100%. text-align:center. text-align: right . "'>" . "' selected='selected'>" .

text-align: center . '> <?php echo $letra ?>&nbsp. text-align: right . text-align: center .' class="cabecera"> Clase </td> <td colspan="3" style='width: 25%.' class="cabecera"> C&oacute.V. </td> </tr> <tr> <td style='width: 25%. text-align: center .digo Asignatura </td> <td colspan="3" style='width: 25%. '> <?php echo $clase ?>&nbsp. '> <?php echo $curso ?>&nbsp.S. font-weight: bold. </td> </tr> <tr> <td height="39" colspan="6"> <div align="center"><strong>Alumnos</strong></div> </td> </tr> <tr> <td style='width: 25%.' class="cabecera"> Guardar </td> --> </tr> <?php if (isset($alumnos)) { $i = 0. text-align: right . font-weight: bold. text-align: center .P.' class="cabecera"> Primer Apellido </td> <td style='width: 25%.' class="cabecera"> Curso </td> <td style='width: 25%. Guardar </td> <!--<td style='width:13%. font-weight: bold.Vicente Sancho Guijarro 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 Proyecto Final de Carrera <?php echo tohtml($nombre) ?>&nbsp. text-align: right . </td> <td style='width: 25%.T. de Informática Aplicada (U. text-align: center . text-align: right . font-weight: bold. '> <?php echo $codigo ?>&nbsp. font-weight: bold. '> <?php echo $horario ?>&nbsp.) 238 . text-align: center . </td> <td style='width: 25%.' class="cabecera"> Letra </td> <td colspan="3" style='width: 25%. text-align: center . font-weight: bold. </td> <td style='width: 25%.' class="cabecera"> Nombre </td> <td style='width: 25%. </td> </tr> <tr> <td style='width: 25%. text-align: center . font-weight: bold.' class="cabecera" colspan="2"> Nota &nbsp.' class="cabecera"> Horario </td> <td style='width: 25%. foreach ($alumnos as $actual) { E. font-weight: bold. text-align: center .' class="cabecera"> Segundo Apellido </td> <td style='width: 25%. text-align: center . font-weight: bold. text-align: right . font-weight: bold.

Vicente Sancho Guijarro Proyecto Final de Carrera 228 229 $resto = $i % 2. tohtml( 232 $actual["apellido1"]) .P. $actual[ 242 "login"] .'/>< 278 /div> 279 280 </form> 281 </td> 282 <td class="general">&nbsp.' value='".$actual["nota"]. 235 //echo" <td><div align=\"center\"> " .S. $resto . 255 tohtml($actual["login"]). 263 264 } 265 266 267 } 268 ?> 269 270 </table> 271 <form method='get' name='general' action='/webcole/guardar_notas. de Informática Aplicada (U. "\"). " </td>\n".php'>\n 243 <input type='text' name='nota' size='5' 244 onchange='javascript:nueva_nota(\"" . " </td>\n". 291 ?> 292 </td> 293 </tr> 294 </table> 295 </body> 296 </html> E. $actual[ 245 "login"] . " </div></td>\n".) 239 .' colspan='2'> 240 ".'/> 250 \n 251 <input type='hidden' name='trim' value=''/> 252 <input type='hidden' name='cambiado' 253 value='false'/> 254 <input type='hidden' name='login' value='" . 260 echo"</tr>\n". 237 echo" <td style=' text-align: center . tohtml( 238 $actual["nombre"]). 261 262 $i++. "'/> 256 <input type='hidden' name='asignatura' 257 value=''/>\n 258 </form>\n 259 </td>\n".V.T.'> " . tohtml( 234 $actual["apellido2"]) . $actual["login"] . " </td>\n". 230 echo "<tr class='fila" .'>" .</td> 283 </tr> 284 <tr> 285 <td><?php 286 bienvenida(). 239 echo" <td style=' text-align: center ." '/> 246 \n 247 <input type='button' name='Submit' 248 value='Guardar' onclick='javascript: 249 enviar_alumno(\"" . tohtml($actual[ 236 "nombre"])."\"). 241 echo" <form method='get' name='alumno_" . "'>\n".'>" . "' action='guardar_notas. 231 echo" <td style=' text-align: center . 287 ?></td> 288 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 289 <?php 290 rellenar_eventos_curso(). 233 echo" <td style=' text-align: center . 272 php'> 273 <input type='hidden' name='datos' value=''/> 274 <input type='hidden' name='asignatura' value='' /> 275 <input type='hidden' name='trimestre' value=''/> 276 <div align="center"><input type="button" name='Submit' 277 value='Guardar Todos' onclick='javascript:enviar_todos().

css" rel="stylesheet" type="text/css" /> <link href="css/profesor.S.</td> </tr> <tr> <td class="fecha">&nbsp.php".</td> <td colspan="2" class="titulo">&nbsp.P.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. $fecha = $_REQUEST["fecha"].php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp. } } if (!isset($fecha)) { $fecha = "".php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.0 Transitional//EN" "http://www.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.js"> </script> <script type="text/javascript"> </script> <link href="css/principal.T.w3.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_faltas. w3. } //Si las dos variables estan definidas deberemos buscar los datos que necesitaran." class="logo">&nbsp. $asignaturas)) { $codasig = -1.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas. if (!isset($codasig)) { $codasig = -1. de Informática Aplicada (U.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc. ?> <?php //leemos los datos recibidos (si se reciben) $codasig = $_REQUEST["codasig"].php">Instalaciones E.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. $asignaturas = asignaturas_profesor().) 240 .js"> </script> <script type="text/javascript" src=".org/TR/xhtml1/DTD/xhtml1-transitional.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime()./js/fecha. } else { if (!array_key_exists($codasig./js/profesor.dtd"> <html xmlns="http://www. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.css" rel="stylesheet" type="text/css" /> <link href="css/principal.V.

$nombre = $datos["nombre"]. } else { //recuperamos los datos $datos = obtener_datos_asignatura($codasig). else echo "<option value='" .Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera </a></li> <li><a href="/webcole/Profesor_equipaciones. } ?> </select> <? //Obtenemos los datos necesarios para rellenar la tabla if ( $codasig <= 0 ) { $nombre = "----". $horario = $datos["horario"]. tohtml( $asig["nombre"]) . "> <option value='-1'>Selecciona una asignatura</option> <?php foreach ($asignaturas as $asig) { if ( $codasig == $asig["codasig"]) echo "<option value='" . "</option>\n". $letra = "-". $curso = $datos["curso"].'asignatura'.php">Tabl&oacute. "'>" . $codigo = $codasig. $curso = "----". $letra = $datos["letra"]. text-align:center. ?>' readonly="readonly" size='10' name='fecha' onfocus="javascript:buscarasignaturafaltas(). $horario = "----". if ( strlen($fecha) > 0 ) $alumnos = obtener_faltas_alumnos ($codasig. tohtml($asig["nombre"]) . de Informática Aplicada (U. font-weight: bold. $codigo = "----". $clase = $datos["aula"]. $asig["codasig"].S. $clase = "----".'fecha')" /> </form> </div> <br/> <table style='width: 100%. } ?> <br /> <br /> <strong>Fecha de la falta </strong> <input type='text' value='<? echo $fecha.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon. "</option> \n".T. $fecha) .' E. " /> <input type='button' value='Selecciona Dia' onclick="muestraCalendario(''. font-size:18px'> Faltas de Asistencia </p> <div align="center"> <form name='asignatura' method='get' action='#'> <br /> <strong>Asignaturas disponibles</strong> <select name="idasig" onchange="javascript:buscarasignaturafaltas(). "' selected='selected'>" .n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .P.) 241 .V. $asig["codasig"]. height:100%.

'>Quitar Falta< /span> </td> <!-.'> Poner Falta </td> <td style='width:10%. font-weight: bold. font-weight: bold. text-align: right .P. '><?php echo $horario ?></td> <td style='width:20%. font-weight: bold. foreach ($alumnos as $actual) { if (strlen($actual["login"]) > 0) { $resto = $i % 2.</td> </tr> <tr> <td style='width:20%. text-align: left . font-weight: bold.' class='cabecera'>Primer Apellido</td> <td style='width:20%. text-align: center .'>Fecha</span> <span style='width:5%.'>Just</span> <span style='width:25%. text-align: center . 'colspan="3"><?php echo $clase ?>&nbsp. font-weight: bold. text-align: right .'>Jus.'> Quitar Falta </td> --> </tr> <?php if (isset($alumnos)) { $i = 0. font-weight: bold.V. text-align: right .Vicente Sancho Guijarro 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 Proyecto Final de Carrera border="1"> <tr> <td style='width:20%. 'colspan="3" class='cabecera'>Clase</td> <td style='width:20%. ' >&nbsp. $resto . '><?php echo $curso ?></td> <td style='width:20%. text-align: center . text-align: center . text-align: center . font-weight: bold. E.</td> <td style='width:20%.' class='cabecera'>Segundo Apellido </td> <td style='width:20%. font-weight: bold.T. text-align: center . font-weight: bold.' class='cabecera'>Nombre Asignatura </td> <td style='width:20%. de Informática Aplicada (U. ' ><?php echo tohtml( $nombre) ?></td> <td style='width:20%. text-align: center . ' colspan="3"><?php echo $codigo ?></td> </tr> <tr> <td style='width:20%. text-align: right . ' >&nbsp. text-align: center .' colspan="3" class='cabecera'>C&oacute.' class='cabecera'>Horario</td> <td style='width:20%. text-align: center . font-weight: bold.'colspan="8"> Alumno</td> </tr> <tr> <!--<td style='width:3%. text-align: center .' class='cabecera'>Curso</td> <td style='width:20%. text-align: center . text-align: center . font-weight: bold. 'colspan="3"><?php echo $letra ?>&nbsp. text-align: center .'>Poner Falta< /span> <span style='width:25%.' class='cabecera'>Nombre</td> <td colspan="5" style='width:40%. text-align: center . ' >&nbsp.digo Asignatura</td> <td style='width:20%. text-align: center .</td> <td style='width:10%.</td> <td style='width:20%. text-align: right .S. text-align: center . ' class='cabecera'> <span style='width:5%. font-weight: bold. text-align: center .</td> </tr> <tr> <td style=' text-align: center . "'>\n". text-align: center . echo"<tr class='fila" .<td style='width:5%. text-align: center .'>Sel</span> <span style='width:20%. text-align: center . font-weight: bold.) 242 . text-align: right . '>Sel</td> --> <td style='width:20%. 'colspan="3" class='cabecera'>Letra</td> <td style='width:20%.</td> <td style='width:20%. font-weight: bold.

"' action='poner_faltas. $actual["login"] . echo"</form>\n". $actual["login"] .'> " . echo" <td style='width:20%.S. if ($actual["justificada"] != 0 ) { echo "checked=\"checked\" onchange=\"javascript:cambio('" . text-align: center ." '/></span> <span style='width:20%. text-align: center . text-align: center . '> <form method='get' name='alumno_" .'> <form method='get' name='alumno_" . tohtml($actual["login"]). " </div></td>\n".'>< input type='button' name='Submit' value='Quitar Falta' onclick='javascript:quitar_falta(\"" . echo" <td style='width:20%. //echo" <td><div align=\"center\"> " . text-align: center .Vicente Sancho Guijarro 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 Proyecto Final de Carrera //echo" <td style='width:3%. echo" <td style='width:10%.php'>\n // </form></td> ". echo" <td style='width:20%. echo" <td style='width:10%.'><input type='text' name='fecha' size='6' value='". "'). tohtml($actual["apellido1"]) . text-align: left . text-align: center .\"/> </td>\n". echo" <td style='width:5%.\"/> < /form></td>\n".'> <form method='get' name='alumno_" .P.tohtml( $actual["login"]). '/>\n <input type='hidden' name='cambiado' value='false'/> <input type='hidden' name='borrar' value='false'/> <input type='hidden' name='login' value='" . de Informática Aplicada (U.php'> <span style='width:20%.php'>\n".'/>\n</td>\n". text-align: center . $actual["login"] . "_1' action='poner_faltas. text-align: center .'><input type=\"checkbox\" name=\"seleccionado\" /></span> <span style='width:20%. tohtml($actual["apellido2"]) .'>< form method='get' name='alumno_" . } else { echo " onchange=\"javascript:cambio('" . $actual["login"] . "\").) 243 . $actual["login"] . $actual["login"] . " </td>\n". $actual["login"] . "\"). text-align: center . "_3' action='poner_faltas. text-align: center . tohtml( $actual["nombre"]).'>< form method='get' name='alumno_" .'> " . if ($actual["justificada"] != 0 ) { echo "checked=\"checked\" E. tohtml($actual["nombre"]). "'). } echo" <input type='button' name='Submit' value='Poner Falta' onclick='javascript: enviar_alumno_faltas(\"" .T. $actual["fecha"]. "_2' action='poner_faltas.V. /*echo" <td style='width:10%. tohtml($actual["login"]). text-align: center .php'>\n </form></td>\n".'> " .php'>\n <input type=\"checkbox\" name=\"seleccionado\" />\n <input type=\"checkbox\" name=\"checkbox\" ". "'/> <input type='hidden' name='asignatura' value=''/> \n </td>\n". " </td>\n".'><input type=\"checkbox\" name=\"checkbox\" ". "' action='poner_faltas. */ echo" <td colspan=\"5\" style='width:40%. " </td>\n".

371 ?> 372 </td> 373 </tr> 374 </table> 375 </body> 376 </html> E.S.tohtml($actual["login"]). $actual["login"] . "\"). 351 php'> 352 <input type='hidden' name='datos' value=''/> 353 <input type='hidden' name='asignatura' value='' /> 354 <input type='hidden' name='fecha' value=''/><br/> 355 <div align="center">Poner falta a todos los alumnos 356 seleccionados<br/><input type="button" name='Submit' 357 value='Poner Falta a Todos' onclick='javascript: 358 enviar_todos_faltas(). 308 } 309 else 310 { 311 echo " onchange=\"javascript: 312 cambio('" .V. $actual["login"] . 332 "'/> 333 <input type='hidden' 334 name='asignatura' value=''/>\n 335 </form>". 367 ?></td> 368 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 369 <?php 370 rellenar_eventos_curso(). 307 \"/></span>\n". 338 $i++. tohtml($actual["login"]). "\"). 314 } 315 echo" <span style='width:20%.T.Vicente Sancho Guijarro Proyecto Final de Carrera 305 onchange=\"javascript:cambio('" 306 . "').'/><br/></div> 359 360 </form> 361 </td> 362 <td class="general">&nbsp. 337 echo"</tr>\n". 319 '/></span> 320 <span style='width:20%. 336 echo" </td>".) 244 .'><input type='button' 322 name='Submit' value='Quitar Falta' 323 onclick='javascript:quitar_falta( 324 \"" .\"/></span>\n".P.<input type='hidden' name='fecha' value=''/> --> 349 </table> 350 <form method='get' name='general' action='/webcole/poner_faltas.tohtml($actual[ 313 "login"]). text-align: 321 center . text-align: 316 center .</td> 363 </tr> 364 <tr> 365 <td><?php 366 bienvenida().'/>< 325 /span> 326 <input type='hidden' 327 name='cambiado' value='false'/> 328 <input type='hidden' name='borrar' 329 value='false'/> 330 <input type='hidden' name='login' 331 value='" . de Informática Aplicada (U. "'). 339 } 340 341 } 342 } 343 else 344 { 345 346 } 347 ?> 348 <!-.'><input type='button' name='Submit' 317 value='Poner Falta' onclick='javascript: 318 enviar_alumno_faltas(\"" .

} } else E.V. de Informática Aplicada (U. if (!isset($_REQUEST["checkbox"])) { $just = 0. $fecha.) 245 . "true")==0) { quitar_falta($login. if (strcmp($aux[1]. $_REQUEST["checkbox"]. foreach ($alu_faltas as $actual) { if(strlen($actual) > 1) { $logfalta = explode(". } } } } else { $codasig $fecha $login $just = = = = $_REQUEST["asignatura"]. $_REQUEST["fecha"]. $_REQUEST["borrar"]. $codasig. } else { poner_falta($login. $_REQUEST["datos"]. } else { poner_falta($login. $codasig $fecha $datos $borrar = = = = $_REQUEST["asignatura"].S.P. $aux = explode(":". "false") == 0) { $just = 0. if (isset($codasig) && isset($fecha) && isset($datos) ) { //echo "datos vale: $datos<br>\n". $logfalta[1]). $fecha). $just). $fecha. "true")==0) { quitar_falta($login. $codasig. $fecha). $_REQUEST["login"]. Nota vale: $nota<br>\n".T. if (strcmp($borrar. } else { $just = 1.php". $codasig.". $_REQUEST["fecha"].php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc. $datos).Vicente Sancho Guijarro Proyecto Final de Carrera poner_faltas. $codasig. $just). $login = $aux[1]. } else { $just = 1. } //echo "Login vale: $login. } if (isset($codasig) && isset($fecha) && isset($login)) { if (strcmp($borrar. $logfalta[0]). //separamos los alumnos ( unos de otros $alu_faltas = explode( "|" . $actual). $aux = explode(":".

S.?>&fecha=<? echo $fecha. font-weight: bold.P.php")./js/fecha. echo "header<br>\n".V. font-size:18px'> Poner faltas </p> Para volver a la pantalla de poner faltas de asistencia pulsa <a href="Profesor_faltas.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".php"> aqu&iacute.php").T.w3.0 Strict//EN" "http://www.URL=Profesor_faltas. org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www. } } //header("Location: Profesor_notas.php?codasig=<? echo $codasig.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.?>"> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> </head> <body> <p style='text-align: center .Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 { header("Location: Profesor_faltas.) 246 . </a> </body></html> E. charset=iso-8859-1" /> <META HTTP-EQUIV="Refresh" CONTENT="0.js"> </script> <link href="css/principal. de Informática Aplicada (U. Proyecto Final de Carrera ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.

w3. font-weight: bold.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.w3. echo " <td style='width: 425px. if ($ins == null) { echo "<tr><td><b>No hay instalaciones reservadas</b></td>< /tr>\n".org/TR/xhtml1/DTD/xhtml1-transitional.' class='cabecera'> Instalaci&oacute.< /td>\n". charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general." class="logo">&nbsp.S. echo " <td style='width: 140px."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. } else { echo "<tr>\n".org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html./js/fecha.n</td>\n". echo " <td style='width: 90px.php">Tabl&oacute.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_instalaciones.P. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.dtd"> <html xmlns="http://www.' class='cabecera'>Normas< /td>\n".</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".</td> <td colspan="2" class="titulo">&nbsp.php".css" rel="stylesheet" type="text/css" /> <link href="css/profesor.) 247 .</td> </tr> <tr> <td class="fecha">&nbsp.' class='cabecera'>&nbsp.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas. de Informática Aplicada (U.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().T. echo " <td style='width: 80px.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.js"> </script> <link href="css/principal. E.V.0 Transitional//EN" "http://www.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe. echo " <td style='width: 100px.' class='cabecera'>Fecha< /td>\n".' class='cabecera'> Proposito</td>\n". font-size:18px'> Instalaciones </p> <table border="1"> <?php $ins = listado_reservas_instalaciones().php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .

115 116 foreach ($ins as $actual) 117 { 118 echo "Instalacion: " . 102 $i++.$temp). $actual["normas"] . 100 echo "</td>". "</td>". 130 ?></td> 131 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 132 <?php 133 rellenar_eventos_curso().T. 97 echo " <input name='item' type='hidden' value='" . 101 echo "</tr>\n". "<br>". $actual["normas"] .php' 90 name='anular'> ". "</td>". 85 echo "<td><a href='" . "<br>". 94 echo " </div> ".V. 84 echo "<td>" . "'>\n". "'/> ". 93 "' name='iditem'>Anular</button> ". tohtml($actual["proposito"]) . 88 echo " <form method='get' 89 action='/webcole/Profesor_anular_reserva.P. 79 $fecha = $fecha = split(" ". 75 $i = 0. 82 echo "<td>" . 83 echo "<td>" . tohtml($actual["instalacion"]) .) 248 . 99 echo " </form> ". 92 echo " <button value='" . $resto . 98 INST . 134 ?> 135 </td> 136 </tr> 137 </table> 138 </body> 139 </html> E. "</td>". 95 echo " <input name='fecha' type='hidden' value='" . 103 } 104 } 105 ?> 106 107 </table> 108 <br/> 109 110 <a href="/webcole/Profesor_reservar_instalacion. "'>Normativa< 86 /a></td>".'> ". $actual["idinst"] . 81 echo"<tr class='fila" .S. 87 echo "<td>".php">Reservar 111 instalaci&oacute. 91 echo " <div style='text-align: center. $actual["instalacion"] .</td> 126 </tr> 127 <tr> 128 <td><?php 129 bienvenida(). 119 echo "Normas: " . 120 } 121 */ 122 ?> 123 124 </td> 125 <td class="general">&nbsp. "'/> ". 80 $resto = $i % 2.n</a> 112 <?php 113 /* 114 $ins = listado_instalacion(). $fecha[0] . 76 foreach ($ins as $actual) 77 { 78 $temp = convertir_fecha($actual["fecha"]). 96 urlencode($actual["fecha"]) .Vicente Sancho Guijarro Proyecto Final de Carrera 74 echo "</tr>\n". de Informática Aplicada (U.

"> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. w3." border="0" cellpadding="2" cellspacing="2"> <tbody> <tr> <td style="width: 300px. INST . ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. text-align: right.P.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_reservar_instalacion.T."><select name="iditem" onchange="javascript:redirigir('<?php echo PROFE.css" rel="stylesheet" type="text/css" /> <link href="css/principal.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.php" name="reservar"> <?php echo "<input type='hidden' name='item' value='" . text-align: left."> <option value='-1'>Selecciona una instalaci&oacute./js/reservas.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores. '<?php echo strtolower(INST).</td> <td colspan="2" class="titulo">&nbsp.js"> </script> <link href="css/principal.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones. ?> <table style="text-align: left. width: 700px.dtd"> <html xmlns="http://www. text-align: right.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). n</option> <?php E.) 249 . ?>'). "' />". ?> '.0 Transitional//EN" "http://www. font-weight: bold. height: 284px.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="./js/fecha.php">Tabl&oacute.org/TR/xhtml1/DTD/xhtml1-transitional.S.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.js"> </script> <script type="text/javascript" src=".php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.php".w3. font-size:18px'> Reservar de Instalaciones </p> <form method="get" action="/webcole/Profesor_reserva.V.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html."><span style="font-weight: bold." class="logo">&nbsp.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.css" rel="stylesheet" type="text/css" /> <link href="css/calendario. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.</td> </tr> <tr> <td class="fecha">&nbsp."> Seleccionauna instalaci&oacute.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones. de Informática Aplicada (U.n</span></td> <td style="width: 400px.

$tabla = fecha_reservas($iditem. "</option>\n". $actual[ "idinstalacion"]. $actual["instalacion"] . $mes = date("n".) 250 . $tiempo_actual).Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera //Comprobamos si llegamos aqui despues de elegir una instalacion $iditem = $_REQUEST["iditem"]. }else { //echo "http definidos<br>\n". $mes . $ano = date("Y". de Informática Aplicada (U. "</option>\n".T. //echo "id vale: $iditem\n". $tiempo_actual = time(). $actual[ "idinstalacion"].P. $fecha=$ano . "' selected='selected'>" . $tiempo_actual). } echo "<input type=\"hidden\" name=\"dia\" value=''/>\n". echo "<input type=\"hidden\" name='mes' value='$mes'/> \n". text-align: right. if (!isset($iditem)) $iditem = -1."><span style="font-weight: bold.V."><?php require_once ("calendario_ins. $mes . "'>" . $dia=date("d"). if (!isset($tabla)) { //utilizamos una variable no inicializada //mostrar_calendario tiene en cuenta si esa variable E. echo "<input type=\"hidden\" name='anyo' value='$ano'/> \n". ">Selecciona una fecha< /span></td> <td style="width: 400px. //echo "id vale: $iditem\n". $tiempo_actual). } } ?> </select></td> </tr> <tr> <td style="width: 200px. $ins = listado_instalacion(). } if (!isset($dia)) { $dia=date("d"). $dia. //if (!$HTTP_POST_VARS && !$HTTP_GET_VARS){ if ((!isset($_GET["nuevo_mes"])) || (!isset($_GET[ "nuevo_mes"])) || (!isset($_GET["nuevo_mes"]))) { //echo "http no definidos<br>\n". } if (!isset($mes)) { $mes = date("n". } if (!isset($ano)) { $ano = date("Y". $dia = $_GET["dia"]. "-" . $ano = $_GET["nuevo_ano"].php"). "-" . $tiempo_actual). $actual[ "instalacion"] . $fecha=$ano .S. echo "<input type=\"hidden\" name='dia_c' value='$dia'/> \n". $mes = $_GET["nuevo_mes"]. "-" . "-" . $dia. } else { echo "<option value='" . foreach ($ins as $actual) { if ($actual["idinstalacion"] == $iditem) { echo "<option value='" . INST).

" /></div> 189 </td> 190 </tr> 191 </tbody> 192 </table> 193 </form> 194 </td> 195 <td class="general">&nbsp.P.}"></textarea> 181 </td> 182 </tr> 183 <tr> 184 <td style="width: 200px.T.cteres)</i></td> 177 <td style="width: 400px.ximo 1500 car&aacute. 200 ?></td> 201 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 202 <?php 203 rellenar_eventos_curso().</td> 185 <td style="width: 400px."> 186 <div align="left"><input type='button' name='Submit' 187 value='Enviar' 188 onclick="javascript:enviar(). PROFE). 153 $variable_no_asignada. 154 } 155 else 156 { 157 mostrar_calendario($dia_c.">&nbsp.V.) 251 .length> 180 = longitud()){return false.font-weight: 174 bold.text-align: right. 158 PROFE).$ano. de Informática Aplicada (U. text-align: right. INST.$ano.Vicente Sancho Guijarro Proyecto Final de Carrera 151 //no esta inicializada 152 mostrar_calendario($dia_c."><textarea cols="50" rows="2" 178 name="motivo" 179 onkeydown="if(document.$mes. 159 } 160 161 162 163 ?></td> 164 </tr> 165 166 <tr> 167 <td style="font-weight: bold. $tabla.">Fecha 168 seleccionada</td> 169 <td><input readonly="readonly" maxlength="15" 170 name="fecha" /></td> 171 </tr> 172 <tr> 173 <td style="width: 200px.value.$mes. 204 ?> 205 </td> 206 </tr> 207 </table> 208 </body> 209 </html> E."><label>Motivo</label> 175 <br /> 176 <i>(m&aacute.S. text-align: right.reservar. INST.motivo.</td> 196 </tr> 197 <tr> 198 <td><?php 199 bienvenida().

T.= "Tipo desconocido: $item : <br>\n".$item1) != 0 || strcmp( 52 $item.$anyo. 28 } 29 30 if (!isset($mes) || $mes < 1 || $mes > 12 ) 31 { 32 $error .$seg. 61 } 62 else 63 { 64 $es_valido = true.V. 22 $ano_hoy=date("Y").="inst vale: " . 13 14 15 //por si en futuro al reservar se tiene en cuenta la hora(de 16 inicio) 17 $hora = 00.a no v&aacute. 11 $item = $_REQUEST["item"]. 0. MAX_LENGTH_MOTIVO-1). 65 $res = reservar_instalacion($login. de Informática Aplicada (U. 67 68 if (!$res) 69 { 70 $es_valido = false.lido<br>\n".$dia. 73 } E. 38 } 39 40 if (!isset($iditem) || $iditem ==-1 ) 41 { 42 $error .Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_reserva. 56 } 57 58 if (strlen($error) > 1) 59 { 60 $es_valido = false. 19 $seg = 00. 8 $anyo = $_REQUEST["anyo"]. INST .) 252 . 9 $iditem = $_REQUEST["iditem"]. 66 $hora. 10 $motivo = substr($_REQUEST["motivo"].$item2) != 0 )) 53 { 54 $error .= "Mes no v&aacute.php 1 <?php 2 require_once "profesor_inc. 20 21 $error = "".$min. 55 $error .php".$motivo.n<br>\n".o no v&aacute.= "A&ntilde. 51 if (!isset($item) && (strcmp($item.$mes.lida<br>\n". 7 $mes = $_REQUEST["mes"]. 12 $login = $_SESSION["id"]. "<br>\n". 50 $item2 = EQUIP. 43 } 44 45 if (!isset($motivo) || strlen($motivo) < 5 ) 46 { 47 $error .= "Instalacion no v&aacute.lido<br>\n".lido<br>\n".P.S. 71 $error = "Se produjo un error inesperado en la reserva 72 de la instalaci&oacute. 33 } 34 //solo reservas en este año 35 if ( !isset($anyo) || $anyo != $ano_hoy ) 36 { 37 $error . $item).$iditem. 23 24 //¿Estan definadas las variables? 25 if (!isset($dia) || $dia < 0 || $dia > 31) 26 { 27 $error = "D&iacute. 48 } 49 $item1 = INST. 18 $min = 00. 3 ?> 4 <?php 5 //obtener datos enviados por el formulario 6 $dia = $_REQUEST["dia"].= "Motivo insuficiente<br>\n".

php".w3.php". redirigir().</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.V.</td> <td colspan="2" class="titulo">&nbsp.S.w3. charset=iso-8859-1" /> <?php //Ruta de retorno que utilizaremos aqui si todo fue bien if (strcmp($item.php">Profesores</a></li> <li><a href="/webcole/Profesor_notas.) 253 . INST)==0) { $url = "/webcole/Profesor_instalaciones. } echo "Se han producido los siguientes errores: <br> $error<br> \n". } if ( $es_valido ) { echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0.php". INST)==0) { $url_reserva = "/webcole/Profesor_reservar_instalacion.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos. de Informática Aplicada (U." class="logo">&nbsp.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.P./js/fecha. } ?> <title>CP Emilio Lluch</title> <link href="css/general.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas. org/TR/xhtml1/DTD/xhtml1-strict.php">Equipamientos</a>< /li> <li><a href="/webcole/Profesor_tablon.n de anuncios </a></li> </ul> </td> <td class="general"> <?php //Ruta de retorno que utilizaremos aqui si todo fue bien if (strcmp($item.</td> </tr> <tr> <td class="fecha">&nbsp.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.URL=$url\">\n".0 Strict//EN" "http://www.js"> </script> <link href="css/principal.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php">Tabl&oacute.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php">Instalaciones </a> </li> <li><a href="/webcole/Profesor_equipaciones."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. } else { $url_reserva = "/webcole/Profesor_reservar_equipacion.dtd"> <html xmlns="http://www.php".T.Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 } Proyecto Final de Carrera ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. echo "<br>\n". E. } else { $url = "/webcole/Profesor_equipaciones.php">Faltas asistencia </a>< /li> <li><a href="/webcole/Profesor_instalaciones.

font-weight: bold.S.P. 169 ?> 170 </td> 171 </tr> 172 </table> 173 </body> 174 </html> E.V.T. 153 154 ?> 155 </td> 156 <td class="general"> 157 <p style='text-align: center .) 254 . font-size:18px'> 158 Reservas 159 </p> 160 </td> 161 </tr> 162 <tr> 163 <td><?php 164 bienvenida(). "</a> 152 para volver al formulario de reserva<br>\n". 165 ?></td> 166 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 167 <?php 168 rellenar_eventos_curso(). de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera 151 echo "Pulsa <a href='$url_reserva'>". tohtml("aquí").

?> <title>CP Emilio Lluch</title> <link href="css/general.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. $iditem = $_REQUEST["iditem"].w3. $es_valido = false.n.URL=$url\" />\n". $es_valido = false. org/TR/xhtml1/DTD/xhtml1-strict. } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.V. $es_valido = true.) 255 . $es_valido = false.="Error en el codigo de instalaci&oacute. $es_valido = false. $login = $_SESSION["id"]. } if ( !isset($iditem) || $iditem < 1 ) { $error .metros de anulaci&oacute. INST) == 0 ) { $url = "/webcole/Profesor_instalaciones. if ( !isset($login)) { header("Location: /webcole/prohibido.php". $item). } } else { $error = "Han ocurrido errores en los par&aacute.T.php". } if (strcmp($item. if ($resultado) { //echo "Reserva correctamente anulada<br>\n". //echo $error.lido<br> \n".php". } if ($es_valido) { $resultado = anular_reserva($login. $iditem. } else { $url = "/webcole/Profesor_equipaciones. } else { $error = "Han ocurrido problemas durante la anulaci&oacute.P. charset=iso-8859-1" /> <?php if ($es_valido) echo "<meta http-equiv=\"refresh\" content=\"5.w3. $fecha.n<br>\n" .0 Strict//EN" "http://www. if ( !isset($fecha)) { $error .php"). $error = "".lida<br>\n". $error. No v&aacute.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.="Error en la Fecha.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_anular_reserva. de Informática Aplicada (U. No v&aacute. // $fecha = urldecode($_REQUEST["fecha"]).S. //si no es correcto sencillamente no se borrara el registro.dtd"> <html xmlns="http://www. $item = $_REQUEST["item"].css" rel="stylesheet" type="text/css" /> E.n de la reserva <br>\n". $es_valido = false. } //ya estara en el formato de mysql.

} else { echo "Han ocurrido problemas durante la anulaci&oacute. ?> </td> </tr> </table> </body> </html> E./js/fecha.n de la reserva".Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 Proyecto Final de Carrera <script type="text/javascript" src=". de Informática Aplicada (U.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.s a la p&aacute.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). } ?> </td> <td class="general">&nbsp. Si no pulsa".php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.</td> </tr> <tr> <td class="fecha">&nbsp.</a></p>\n".</td> <td colspan="2" class="titulo">&nbsp.gina de reservas</p>\n".php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.T.) 256 . echo "Errores: $error<br/>\n".</td> </tr> <tr> <td><?php bienvenida().php">Tabl&oacute." class="logo">&nbsp.gina de instalaciones.P.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas. ?></td> <td colspan="2" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso(). echo "<a href=\"$url\"> aqu&iacute.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos. echo "<p>Pulsa <a href=\"$url\"> aqu&iacute. echo "<p>En 5 segundos ser&aacute.V.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe. font-size:18px'> Anular reservas </p> <?php if ($es_valido) { echo "Reserva anulada correctamente<br/>\n". font-weight: bold.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.js"> </script> <link href="css/principal.</a> para regresar a la p&aacute.S."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .

echo " <td style='width: 80px. w3.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_equipaciones.T. E.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.php". echo " <td style='width: 100px. font-size:18px'> Equipaciones Reservadas </p> <table border="1"> <?php $ins = listado_reservas_equipaciones().</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.' class='cabecera'> Equipamiento</td>\n".php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.' class='cabecera'>Normas< /td>\n".org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.w3.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.</td> </tr> <tr> <td class="fecha">&nbsp. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.sito</td>\n".dtd"> <html xmlns="http://www.org/TR/xhtml1/DTD/xhtml1-transitional.) 257 . font-weight: bold.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime()./js/fecha.0 Transitional//EN" "http://www.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.' class='cabecera'>Fecha< /td>\n".< /td>\n".js"> </script> <link href="css/principal. } else { echo "<tr>\n". echo " <td style='width: 425px."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.css" rel="stylesheet" type="text/css" /> <link href="css/profesor.php">Tabl&oacute. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. echo "</tr>\n". if ($ins == null) { echo "<tr><td><b>No hay equipamientos reservados</b></td>< /tr>\n".css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center . echo " <td style='width: 140px.' class='cabecera'> Prop&oacute. de Informática Aplicada (U.P.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.</td> <td colspan="2" class="titulo">&nbsp." class="logo">&nbsp.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores. echo " <td style='width: 90px.' class='cabecera'>&nbsp.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.V.S.

urlencode($actual["fecha"]) . de Informática Aplicada (U.S. 90 echo " <form method='get' 91 action='/webcole/Profesor_anular_reserva. 104 $i++. "<br>". 132 ?></td> 133 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 134 <?php 135 rellenar_eventos_curso().Vicente Sancho Guijarro Proyecto Final de Carrera 74 $i = 0. $resto . 103 echo "</tr>\n". 102 echo " </td>\n". $actual["instalacion"] . 84 echo " <td>" .P. 78 $fecha = $fecha = split(" ". "</td> 86 \n". "<br>". 75 foreach ($ins as $actual) 76 { 77 $temp = convertir_fecha($actual["fecha"]).T. "'> 88 Normativa</a></td>\n". 96 echo " </div> \n". 94 echo " <button value='" . 81 echo"<tr class='fila" . tohtml($actual["proposito"]) . 105 } 106 } 107 ?> 108 109 </table> 110 <br/> 111 112 <a href="/webcole/Profesor_reservar_equipacion.) 258 . 122 } 123 */ 124 ?> 125 126 </td> 127 <td class="general">&nbsp. $actual[ 95 "idequipacion"] .</td> 128 </tr> 129 <tr> 130 <td><?php 131 bienvenida(). 117 118 foreach ($ins as $actual) 119 { 120 echo "Instalacion: " . 79 80 $resto = $i % 2. "'>\n".php' 92 name='anular'> \n". 121 echo "Normas: " . tohtml($actual["equipacion"]) .n</a> 114 <?php 115 /* 116 $ins = listado_instalacion(). EQUIP .'> \n". 85 echo " <td>" . 101 echo " </form> \n". "</td>\n".V. 87 echo " <td><a href='" .php">Reservar 113 equipaci&oacute. "'/> \n". 136 ?> 137 </td> 138 </tr> 139 </table> 140 </body> 141 </html> E. 93 echo " <div style='text-align: center. "'/> \n". 97 echo " <input name='fecha' type='hidden' 98 value='" . $actual["normas"] . "</td> 83 \n". 89 echo " <td>\n". 82 echo " <td>" . "' name='iditem'>Anular</button> \n". $fecha[0] .$temp). $actual["normas"] . 99 echo " <input name='item' type='hidden' 100 value='" .

text-align: right.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.T.0 Transitional//EN" "http://www.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px."><span style="font-weight: bold. font-size:18px'> Reservas de equipaciones </p> <form method="get" action="/webcole/Profesor_reserva.n< /option> <?php E. w3.V. ?>')." class="logo">&nbsp. width: 700px.</td> <td colspan="2" class="titulo">&nbsp. EQUIP . '<?php echo strtolower(EQUIP). text-align: left.php".php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php require_once "profesor_inc.js"> </script> <script type="text/javascript" src=".) 259 . ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center ."><select name="iditem" onchange="javascript:redirigir('<?php echo PROFE.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores. de Informática Aplicada (U. "' />\n"." border="0" cellpadding="2" cellspacing="2"> <tbody> <tr> <td style="width: 300px.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.dtd"> <html xmlns="http://www. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas. height: 284px./js/fecha. ?> <table style="text-align: left."> <option value='-1'>Selecciona una equipaci&oacute. text-align: right.n</span></td> <td style="width: 400px.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.php" name="reservar"> <?php echo "<input type='hidden' name='item' value='" . font-weight: bold./js/reservas.w3.org/TR/xhtml1/DTD/xhtml1-transitional.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().P.js"> </script> <link href="css/principal.S.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".css" rel="stylesheet" type="text/css" /> <link href="css/calendario.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp. ?>'."> Seleccionauna instalaci&oacute.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_reservar_equipacion.php">Tabl&oacute.</td> </tr> <tr> <td class="fecha">&nbsp.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.

echo "<input type=\"hidden\" name='anyo' value='$ano'/> \n". //echo "id vale: $iditem\n".Vicente Sancho Guijarro 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Proyecto Final de Carrera //Comprobamos si llegamos aqui despues de elegir una instalacion $iditem = $_REQUEST["iditem"]. "</option>\n". } if (!isset($ano)) { $ano = date("Y". if (!isset($tabla)) { //utilizamos una variable no inicializada //mostrar_calendario tiene en cuenta si esa variable E. echo "<input type=\"hidden\" name='dia_c' value='$dia'/> \n". $mes = date("n".V. $tiempo_actual). "'>" . } if (!isset($dia)) { $dia=date("d")."><span style="font-weight: bold. }else { //echo "http definidos<br>\n". "-" . $tiempo_actual). $dia. $ins = listado_equipacion(). $tiempo_actual = time(). "-" .T. ">Selecciona una fecha< /span></td> <td style="width: 400px.S. $actual[ "equipacion"] . } if (!isset($mes)) { $mes = date("n". "-" . $mes . $fecha=$ano . $dia. $ano = date("Y".) 260 .php"). $tabla = fecha_reservas($iditem. "-" . $dia=date("d")."><?php require_once ("calendario_ins. echo "<input type=\"hidden\" name='mes' value='$mes'/> \n". } echo "<input type=\"hidden\" name=\"dia\" value=''/>\n". foreach ($ins as $actual) { if ($actual["idequipacion"] == $iditem) { echo "<option value='" . EQUIP). $ano = $_GET["nuevo_ano"]. "</option>\n". if (!isset($iditem)) $iditem = -1. $mes . } else { echo "<option value='" . $fecha=$ano . $mes = $_GET["nuevo_mes"]. "' selected='selected'>" . $dia = $_GET["dia"]. $actual[ "idequipacion"]. //echo "id vale: $iditem\n". text-align: right. $actual["equipacion"] . $tiempo_actual). //if (!$HTTP_POST_VARS && !$HTTP_GET_VARS){ if ((!isset($_GET["nuevo_mes"])) || (!isset($_GET[ "nuevo_mes"])) || (!isset($_GET["nuevo_mes"]))) { //echo "http no definidos<br>\n".P. } } ?> </select></td> </tr> <tr> <td style="width: 200px. $tiempo_actual). de Informática Aplicada (U. $actual[ "idequipacion"].

154 } 155 else 156 { 157 mostrar_calendario($dia_c. text-align: right.P.length> 180 = longitud()){return false. de Informática Aplicada (U.) 261 .Vicente Sancho Guijarro Proyecto Final de Carrera 151 //no esta inicializada 152 mostrar_calendario($dia_c." /></div> 189 </td> 190 </tr> 191 </tbody> 192 </table> 193 </form> 194 </td> 195 <td class="general">&nbsp."><textarea cols="50" rows="2" 178 name="motivo" 179 onkeydown="if(document.</td> 196 </tr> 197 <tr> 198 <td><?php 199 bienvenida(). PROFE). EQUIP. text-align: right."> 186 <div align="left"><input type='button' name='Submit' 187 value='Enviar' 188 onclick="javascript:enviar(). 159 } 160 161 162 163 ?></td> 164 </tr> 165 166 <tr> 167 <td style="font-weight: bold.$ano. 200 ?></td> 201 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 202 <?php 203 rellenar_eventos_curso(). 204 ?> 205 </td> 206 </tr> 207 </table> 208 </body> 209 </html> E.racteres)</i></td> 177 <td style="width: 400px.ximo 1500 c&aacute.value.</td> 185 <td style="width: 400px. EQUIP.motivo.$mes.T.reservar. $tabla.V. 153 $variable_no_asignada.}"></textarea> 181 </td> 182 </tr> 183 <tr> 184 <td style="width: 200px.font-weight: 174 bold."><label>Motivo</label> 175 <br /> 176 <i>(m&aacute. 158 PROFE).">&nbsp.$ano.$mes.text-align: right.S.">Fecha 168 seleccionada</td> 169 <td><input readonly="readonly" maxlength="15" 170 name="fecha" /></td> 171 </tr> 172 <tr> 173 <td style="width: 200px.

</div></td> </tr> <tr> <td rowspan="5" class="menu"> <ul> <li><a href="/webcole/intranetProfe. E. $anuncios = consulta($sql.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.n de anuncios </a></li> </ul> </td> <td colspan="2" class="general"><h1>Tabl&oacute.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php session_start().</td> </tr> <tr> <td class="fecha">&nbsp.</td> <td colspan="3" class="fecha"><div id="campoHora">&nbsp. if($_SESSION["tipo"] != "Profesor") header("Location: prohibido.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones. $anuncios_amostrar = 10. $sql = "SELECT * FROM anuncio ORDER BY idanuncio DESC"." ". $usuario = siguiente($usuario).php">Alumnos</a></li> <li><a href="/webcole/profesores.S.V. $sql = "SELECT * FROM usuario WHERE login = '". $conn).n de anuncios </h1> <p>&nbsp.php">Tabl&oacute. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.</td> </tr> <?php include("bd. de Informática Aplicada (U. if($anuncios_mostrados>=3) echo "<td></td>". org/TR/xhtml1/DTD/xhtml1-strict.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".0 Strict//EN" "http://www.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_tablon. $conn = Conectar().php").js"> </script> <link href="css/principal."</span> <span class='anuncioFecha'>. while($row = siguiente($anuncios)) { if($anuncios_mostrados >= $anuncios_amostrar) break.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). echo "<tr>".php").w3.w3.$conn). $usuario = consulta($sql. echo "<span class='anuncioNombre'>".T.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones./js/fecha.tohtml( $usuario["apellido1"]). $anuncios_mostrados++. $anuncios_mostrados = 0.$row["login"]." <br/>". echo "<td class='general'><p class='anuncioTitulo'>".php">Profesores</a></li> <li><a href="/webcole/Profesor_notas."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td width="150" class="logo">&nbsp."'".P.tohtml($row["titulo"] ).</p></td> <td rowspan="5" class="general">&nbsp.".) 262 ."</span> </td>".</td> <td colspan="3" class="titulo">&nbsp.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.$row[ "fecha"].dtd"> <html xmlns="http://www.tohtml($usuario["nombre"]).

75 echo "</tr>".tohtml($row["texto"]).</td>".T.Vicente Sancho Guijarro Proyecto Final de Carrera 74 echo "<td class='general'>&nbsp. 120 ?> 121 </td> 122 </tr> 123 </table> 124 </body> 125 </html> E. 84 //echo "</tr>".</td>".V.php"> 92 <label> 93 T&iacute.P. 85 } 86 ?> 87 88 <tr> 89 <td></td> 90 <td colspan="2" class="general"><h3>Insertar nuevo anuncio</h3> 91 <form id="form1" method="post" action="Profesor_tablon_insertar."</span></td>". 81 echo "</tr>". de Informática Aplicada (U. 116 ?></td> 117 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 118 <?php 119 rellenar_eventos_curso().) 263 .tulo 94 <br /> 95 <input type="text" name="titulo" /> 96 </label> 97 <p> 98 Texto 99 <br /> 100 <label> 101 <textarea name="texto" cols="60" rows="3"></textarea> 102 </label> 103 </p> 104 105 <p> 106 <label> 107 <input type="submit" name="Submit" value="Insertar" /> 108 </label> 109 </p> 110 </form> <p>&nbsp.S. 82 //echo "<tr>". 76 77 echo "<tr>". 78 echo "<td class='general'><p class='anuncio'><span class='anuncioTexto'> 79 ". 83 //echo "<td colspan='2' class='general'>&nbsp. </p></td> 111 <td class="general"></td> 112 </tr> 113 <tr> 114 <td><?php 115 bienvenida().</td>". 80 echo "<td class='general'>&nbsp.

) 264 . '".php"). if($_SESSION["tipo"] != "Profesor") header("Location: prohibido. '". else $idanun = 1. $conn = Conectar()."'.$conn)..P.php").S.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 <?php session_start(). $titulo = $_POST["titulo"].$fecha. $insert = consulta($sql. include("bd. ?> <head> <meta http-equiv="refresh" content="15. if($num = siguiente($num)) $idanun= $num["idanuncio"] + 1. `titulo` . //echo "id". '".$conn). $titulo."error: " .$_SESSION["id"]. $sql = "SELECT * FROM anuncio ORDER BY idanuncio DESC"..$texto.php"> </head> Insertando. Desconectar($conn).URL=Profesor_tablon.$idanun. E.$_SESSION["id"].Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_tablon_insertar. `texto` ) VALUES ('".V. de Informática Aplicada (U. '"."')". mysql_error($conn). `login` . $sql = "INSERT INTO `anuncio` ( `idanuncio` . $texto = $_POST["texto"]."'. `fecha` . $fecha = date("Y-m-d H:i:s")."'.T."'. $num = consulta($sql.

font-size : 10pt.altn { font-family : verdana. } . background-color: #F0E68C. font-size : 10pt. font-size : 8pt.da { font-family : verdana.arial. background-color: #333333.arial.arial. color: #ffffff.arial.helvetica.helvetica.arial. } INPUT { font-family : verdana. de Informática Aplicada (U.laborable { E. background-color: #000066. text-align: center. font-weight: bold. color: #FFFFFF.arial.helvetica. } TEXTAREA { font-family : verdana. } . } . background-color: #FFCCCC. color: #ffffff.helvetica. Código CSS Calendario. font-size : 10pt.fs { font-family : verdana. color: #FFFFFF.helvetica.curso { font-family : verdana.arial. color: #FFFFFF.arial. font-size : 8pt.arial.P.nd { font-family : verdana. text-align: center.) 265 . } . font-weight: bold.helvetica. font-size : 8pt.V.helvetica. font-weight: bold. background-color: #666666. font-weight: bold.css 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 TD { font-family : verdana.T. } . text-align: center.Vicente Sancho Guijarro Proyecto Final de Carrera H.helvetica. background-color: #CCFFFF.arial. font-weight: bold.S. } .helvetica. text-align: center.helvetica. } . color: #FFFFFF. } SELECT { font-family : verdana.tit { font-family : verdana.

S. text-align: center.V. background-color: #CCFF99.arial. color: #FFFFFF.helvetica. de Informática Aplicada (U.T.P.Vicente Sancho Guijarro 66 67 68 69 70 71 72 } Proyecto Final de Carrera font-family : verdana.) 266 . E. font-weight: bold.

Helvetica. background-position: center center. Helvetica.. background-position: center center. font-weight: bold. background-position: center. } . font-family: Arial. color: #660033. Arial. border-left-style: none. font-family: Arial. background-repeat: no-repeat./img/LogoPeq. width: 130px. background-image: url(.jpg). } ul li a { font-family: Verdana.titulo { background-color: #99CC33. text-align: left.S.imagenCalendario { background-color: #99CC66.jpg). Helvetica. background-position: center center.T../img/calendario. text-align: right. de Informática Aplicada (U. margin-left: -40px. } . background-color: #FFFF99. padding-left: 15px. color: #003399. background-color: #99CC00. border-right-style: none. background-repeat: no-repeat. } ul li:hover { background-color: #CCFFCC. border-bottom-style: none.fecha { font-family: Verdana. font-family: Verdana. background-repeat: no-repeat..logo { background-color: #99CC33. } . font-size: 14px. Arial.menu { vertical-align: top. width: 100%. text-align: center. sans-serif. height: 24px. background-image: url(. border-top-style: none. Helvetica. E.Vicente Sancho Guijarro Proyecto Final de Carrera general.) 267 .P. width: 140px. background-image: url(. padding-left: 15px. } .css 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 . sans-serif. color: #FF66CC. } . sans-serif. font-size: 13px. } body { background-color: #999933. sans-serif. Helvetica. list-style-type: none. Arial. padding-top: 8px. } ul li { border: medium ridge #CCFF66.general { background-color: #99CC66. sans-serif. vertical-align: middle. height: 150px.png). width: 150px./img/titulo.V.

font-family: Arial. border-top-style: none.) 268 .gif).jpg). border-right-style: none./img/arroba. padding-left: 15px.imagenLocalizacion { background-color: #99CC66. Helvetica. Helvetica. background-repeat: no-repeat. background-image: url(.. font-family: Arial./img/reglas.S. font-family: Arial. border-bottom-style: none.V. padding-left: 15px. border-left-color: #FFFF66. background-image: url(. border-bottom-style: none. border-top-color: #FFFF66. background-repeat: no-repeat. border-left-style: none. padding-left: 15px. border-bottom-color: #FFFF66. font-family: Arial. border-left-style: none..png). border-top-style: none. border-top-color: #FFFF66. border-bottom-style: none.imagenReglamento { background-color: #99CC66. de Informática Aplicada (U. border-top-style: none. sans-serif. border-right-color: #FFFF66. } ./img/plano_valencia. background-repeat: no-repeat. background-position: center center. border-bottom-color: #FFFF66. border-top-color: #FFFF66. border-right-color: #FFFF66. background-image: url(. width: 150px. background-position: center center. width: 150px. border-right-style: none. Helvetica.imagenEmail { background-color: #99CC66. } . border-left-color: #FFFF66. border-right-color: #FFFF66. sans-serif. width: 300px.P. E. border-top-style: none. background-image: url(. background-position: center center. border-bottom-color: #FFFF66. sans-serif. border-bottom-color: #FFFF66. width: 320px.Vicente Sancho Guijarro 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 border-top-color: #FFFF66.. border-bottom-style: none. background-repeat: no-repeat.imagenEnlaces { Proyecto Final de Carrera background-color: #99CC66.. border-left-color: #FFFF66. border-right-color: #FFFF66. } . background-position: center center. border-left-style: none.jpg)./img/email. border-right-color: #FFFF66. border-left-color: #FFFF66. border-top-color: #FFFF66. border-right-style: none. border-bottom-color: #FFFF66. } . border-left-style: none. padding-left: 15px. sans-serif. Helvetica.T. border-right-style: none.

Vicente Sancho Guijarro 149 150 } border-left-color: #FFFF66.) 269 .S.T. de Informática Aplicada (U.P. Proyecto Final de Carrera E.V.

css 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 .Vicente Sancho Guijarro Proyecto Final de Carrera principal..T.noticias { background-color: #99CC33. Helvetica. padding-left: 15px. background-position: center center.V. font-size: 14px.) 270 . background-repeat: no-repeat./img/colegio. } E. background-image: url(.P. sans-serif. border: medium dashed #FFFF99.S.fechaNoticia { font-family: Geneva.JPG). width: 250px. font-weight: bold. } .foto { background-color: #99CC66. color: #CC0066. Arial. de Informática Aplicada (U. } .

. color:#FFFFFF.V. sans-serif.) 271 . font:Arial. } .css 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 @CHARSET "ISO-8859-1". de Informática Aplicada (U. } E.cabecera { background-color:#000000. } . color:#000000.fila1 { background-color:#009900.S.fila0 { background-color: #99CC66. Helvetica.T.Vicente Sancho Guijarro Proyecto Final de Carrera Professor. color:#000000.P.

getDate(). var year = today.getMinutes().T. tiempo = setTimeout("displayTime()". } function displayDate() { var this_month = new makeArray(12). var this_day_e this_day_e[0] this_day_e[1] this_day_e[2] this_day_e[3] this_day_e[4] this_day_e[5] this_day_e[6] = = = = = = = = new makeArray(7). var day = today.P. this_month[10] = "Noviembre". this_month[1] = "Febrero".S.innerHTML = cadena. "Lunes". if (minutos < 10) minutos = "0" + minutos.getSeconds(). "Sábado". cadena = displayDate() + " " + horas + ":" + minutos + ":" + segundos. de Informática Aplicada (U. " + day + " de " + this_month[month] + " " + year). } return( " " + this_day_e[dia] + ".getDay(). JavaScript fecha.getHours(). var horas = hora. this_month[8] = "Septiembre". var segundos = hora. "Viernes". "Jueves".1000). var minutos = hora. "Miércoles". "Domingo".getElementById('campoHora'). } function displayTime() { var hora = new Date(). } // --> E.getMonth(). this_month[11] = "Deciembre".Vicente Sancho Guijarro Proyecto Final de Carrera I. this_month[5] = "Junio". this_month[9] = "Octubre".i++){ this[i]=0.length = n. document. this_month[2] = "Marzo". this_month[0] = "Enero".getYear(). this_month[4] = "Mayo". this_month[7] = "Agosto". var dia = today. this_month[6] = "Julio". if (segundos < 10) segundos = "0" + segundos.i<=n. var today = new Date(). if (year < 1000) { year += 1900.V. for (i=1. function makeArray(n){ this.) 272 . var month = today.js 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 <!-var pong.1000). this_month[3] = "Abril". } return this. } function horaActualizada() { tiempo = setTimeout("displayTime()". "Martes".

61 var fecha = document. 33 checked.location. 32 var justificado = document.ano_destino) 5 { 6 //funcion para abrir una ventana con un calendario. i< 6.value = "false".cambiado.value.campo_destino. es decir.forms. status=NO.cambiado. 9 if (typeof ventanaCalendario.height=200.checkbox.cambiado. 40 } 41 42 function cambio(alumno) 43 { 44 var ha_cambiado = document. 7 //Se deben indicar los datos del formulario y campos que se desean 8 editar con el calendario.value.fecha.value. resizable=NO.value. scrollbars=no. 62 63 if ( fecha. 23 document.eval("alumno_" + alumno).value = document. 48 } 49 else 50 { 51 document.Vicente Sancho Guijarro Proyecto Final de Carrera profesor.eval("alumno_" + alumno).submit().open("calendario_faltas.value. 59 var mensaje = "".value = document.asignatura.length > 0 && asig > 0 ) 64 { 65 //empezamos en el 1 en vez del 0 porque hay un formulario que 66 no nos interesa al 67 //comienzo y acabamos uno antes porque el ultimo es el que 68 llama a esta funcion 69 //for(i = 0.formulario_destino.fecha.location=NO") 17 } 18 19 function buscarasignaturafaltas() 20 { 21 var idasig = document.href='/webcole/Profesor_faltas.eval("alumno_" + alumno).fecha.close() 12 } 13 ventanaCalendario = window. 37 document.idasig. 22 var fecha = document. 4 mes_destino.T.idasig.length.eval("alumno_" + alumno).asignatura. 29 var fecha_general = document.) 273 .eval("alumno_" + alumno).S.eval("alumno_" + alumno).asignatura.fecha. 60 var asig = document.idasig.asignatura.php?formulario=" 14 + formulario_destino + "&nomcampo=" + campo_destino.top=100. 45 if (ha_cambiado == "true") 46 { 47 document.idasig. 52 } 53 } 54 55 function enviar_todos_faltas() 56 { 57 var lon = document.asignatura. left=100. 30 var idasig = document. los campos donde va la fecha. 36 fecha.cambiado.asignatura. 34 35 document.value.V.eval("alumno_" + alumno).value.menubars=no.asignatura. 16 statusbar=NO.asignatura. 25 } 26 function enviar_alumno_faltas(alumno) 27 { 28 var ha_cambiado = document.eval("alumno_" + alumno). 58 //alert("Hay " + lon + " formularios").php?codasig=' + 24 idasig + "&fecha=" + fecha .eval("alumno_" + alumno).document == "object") 10 { 11 ventanaCalendario.js 1 var ventanaCalendario=false 2 3 function muestraCalendario(raiz.value. de Informática Aplicada (U. 31 var fecha = document."calendario".value.P. 15 "width=225. 39 document.fecha.value = "true".value. i++) 70 var i = 1 71 while ( i < lon -1 ) 72 { E.value. 38 asignatura.

document.Vicente Sancho Guijarro 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 Proyecto Final de Carrera if (document.location.trimestre.eval("alumno_" + login).href='/webcole/Profesor_notas.general.value. document. } function cambiar_trimestre() { } function nueva_nota(login) { formulario = "alumno_" + login.value.) 274 . var trimestre = document. document.idasig."). var nota_txt = document.general. checked. if ( isNaN(nota) ) { E. document.asignatura. try { nota_txt = nota_txt.checked == true) { var msg = "login:" + document. alumno).value.value = mensaje.eval("alumno_" + alumno).fecha.idasig.eval("alumno_" + fecha. msg += "just:" + document.asignatura.replace(".forms[i].eval("alumno_" + asignatura.fecha.value. document.seleccionado.general.value.S. mensaje += msg.value. } document.".submit().submit(). var justificado = document. ".value = document.value = asig.eval("alumno_" + document.asignatura. alumno).checked + "|".value. de Informática Aplicada (U.cambiado. } else { alert ("No has seleccionado a ningun alumno al que poner la falta").eval("alumno_" + } alumno).eval("alumno_" + alumno). var fecha = document.T. if ( nota_txt.value + ".forms[i]. ".php?trimestre=' + trimestre + '&codasig=' + idasig . } } else { alert("Debes seleccionar una asignatura y una fecha antes de enviar las faltas").idasig.eval("alumno_" + login).P.checkbox.borrar.V.checkbox.value = fecha.length > 0 ) { var nota = parseFloat(nota_txt).general.value = "true".length > 0) { document.fecha. alumno). function buscarasignatura() { var idasig = document. if (mensaje. var idasig = document.datos.asignatura.value. } i++. document.nota. var ha_cambiado = document.asignatura. } } function quitar_falta(alumno) { var fecha_general = document.value.forms[i].fecha.asignatura.asignatura.login.value = document.

P.cambiado. var nota_txt = document.eval("alumno_" + login).eval("alumno_" + login). ".trim. de Informática Aplicada (U. document.eval("alumno_" + login).nota.value = "false".focus().value.value = "false".S.eval("alumno_" + login).value = document.value = nota.V. } } else { document. document. nota_txt = nota_txt. document.eval("alumno_" + login).nota.".asignatura. if ( nota >= 0 && nota <= 10 ) { document.submit(). } } else { E.Vicente Sancho Guijarro 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 Proyecto Final de Carrera document.cambiado. } } catch(e) { alert ("No has introducido un numero valido: " + e. } else if ( nota >= 0 && nota <= 10 ) { document.value = "true". } } catch(e) { alert ("No has introducido un numero valido: " + e. } else { alert("La nota debe estar comprendida entre 0 y 10") .eval("alumno_" + login). document.idasig.eval("alumno_" + login).message). } } else { alert ("No has introducido ningun numero "). } function enviar_alumno(login) { formulario = "alumno_" + login.eval("alumno_" + login). document.replace(".eval("alumno_" + login). message).eval("alumno_" + login). alert("El numero introducido no es correcto").cambiado. document.eval("nota").eval("alumno_" + login).eval("alumno_" + login).value .eval("alumno_" + login).value.value = "true".value = nota.T.focus().cambiado.eval("nota").cambiado.eval("alumno_" + login).asignatura.value.nota. var ha_cambiado = document. } document.value = nota.cambiado.nota.) 275 .length > 0 ) { try { var nota = parseFloat(nota_txt).eval("alumno_" + login).value = document.asignatura."). document. trimestre.value = "false". if ( ha_cambiado == "true" ) { if ( nota_txt. } else { alert("La nota debe estar comprendida entre 0 y 10"). document.

value = document.cambiado. i++) var i = 1 while ( i < lon -1 ) { try { var nombre = document.V.login.idasig.datos. mensaje += msg.name. value. } else { alert("La nota debe estar comprendida entre 0 y 10").value = mensaje. } document. document.value.P.asignatura.general.value.eval("alumno_" + login).forms[i]. var mensaje = "".nota. } } else { //alert ("No has introducido ningun numero ").general.".". var idasig = document. return.general.idasig.length.value = document.asignatura.message). } function enviar_todos() { var lon = document.T. //empezamos en el 1 en vez del 0 porque hay un formulario que no nos interesa al //comienzo y acabamos uno antes porque el ultimo es el que llama a esta funcion //for(i = 0.forms[i].S. if ( nota_txt.value.replace(".submit().trimestre. } } } catch(e) { alert("Error: " + e.general. if ( nota >= 0 && nota <= 10 ) { var msg = "login:"+document. } function cambio_trimestre() { var trimestre = document.forms[i]. var ha_cambiado = document.asignatura.Vicente Sancho Guijarro 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 Proyecto Final de Carrera alert ("no se envia porque no ha cambiado su situacion"). if ( ha_cambiado == "true" ) { var nota_txt = document. document.nota. msg += "nota:" + nota + "|".forms.length > 0 ) { try { nota_txt = nota_txt. value.submit(). value + ".focus(). } } catch(e) { alert ("No has introducido un numero valido: " + e. } document. de Informática Aplicada (U. } i++.forms[i]. var nota = parseFloat(nota_txt). document.trimestre. E.trimestre.forms[i]. ".asignatura.value. document."). i< 6.asignatura.) 276 .message).

S.location.) 277 . de Informática Aplicada (U.Vicente Sancho Guijarro 304 305 306 307 308 309 Proyecto Final de Carrera if ( trimestre != "-1" ) { document.T.href="/webcole/Profesor_notas. } } E.php?trimestre=" + trimestre + "&codasig=" + idasig.V.P.

value == -1) { correcto = false.reservar. } else if (anyo != anyo_actual || document.reservar. anyo = document. value + "-" + document.V.reservar.reservar. dia = document. } E.mes. alert ("Debes rellenar el campo motivo"). if (document.value = i.mes.anyo. Debes elegir un dia de los disponibles en el calendario"). } else if (mes < 1 || mes > 12 || document. anyo_actual = fecha.P.T.value.dia.value==0) { correcto = false.reservar. alert ("Año incorrecto.Vicente Sancho Guijarro Proyecto Final de Carrera reservas.reservar.value.dia. } document.mes.reservar.value. Debes elegir un dia de los disponibles en el calendario"). function cambiar(i) { alert ("id vale:" + i ).mes.reservar.php?iditem=' + iditem + '&dia=' + dia + '&nuevo_mes=' + mes + '&nuevo_ano=' + anyo.location. if ( i < 10 ) { i = "0" + i.reservar.value.reservar.value.value.value = i + "-" + document.anyo. anyo = document.iditem.reservar. } else if (dia > 31 || dia < 1 || document.fecha.S. } else if (document. //comprobar si tenemos todos los parametros necesarios //de fecha dia = document.anyo. mes = document. mes = document. document.motivo.getFullYear().reservar.) 278 . Debes elegir un dia de este año "). alert ("Mes incorrecto.anyo.href='/webcole/' + usuario + '_reservar_' + tipo + '.reservar.value==0 ) { correcto = false.dia.js 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 MAX_LENGTH = 1500.value.length == 0) { correcto = false. de Informática Aplicada (U. document.value. alert ("Dia incorrecto.reservar. alert ("Debes elegir una instalacion de las disponibles").reservar. } function redirigir(usuario.value==0) { correcto = false.dia.reservar. correcto = true.iditem. } function enviar() { fecha = new Date(). tipo) { iditem = document.value.

P.motivo. de Informática Aplicada (U. } } function longitud() { return MAX_LENGTH.value. } } function maxCaracteres() { if(document.reservar.length > MAX_LENGTH) { temp="".value. } E.".reservar.motivo.V.substring(0.T.reservar.motivo.S.) 279 . MAX_LENGTH-1) . } if (correcto) { document. document.Vicente Sancho Guijarro 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 Proyecto Final de Carrera if (document.length>= MAX_LENGTH) { return "return false. temp = document.reservar.motivo.value = temp.submit().reservar.value.

Sign up to vote on this title
UsefulNot useful