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

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

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

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

Para ello.V. Por último. de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera 1. 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. E.1 Estructura del documento Sobre la estructura de la memoria. Aquí explicamos las tecnologías utilizadas y cómo son usadas.S.) 7 . damos por finalizado el proyecto. podemos decir que se ha dividido en los apartados que hemos tratado en la realización del proyecto. 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. exponemos el código fuente de las páginas desarrolladas. La siguiente etapa en la realización del proyecto fue la de análisis. 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.T.P. 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. La finalidad de este documento es plasmar el acuerdo entre el desarrollador y el cliente acerca de las funcionalidades del proyecto. antes de subirlo al servidor prestado por el director. Los diagramas realizados fueron el diagrama de clases y los diagramas de los casos de uso. ya que ellos son los que dictan los estándares que hemos usado para desarrollar el proyecto como son HTML y CSS por ejemplo. En nuestro caso el visto bueno nos lo dio el director del proyecto. Tras todo esto. En ella se realizó un análisis del problema y el modelado conceptual de nuestra solución mediante diagramas. En el primero de ellos se habla del consorcio llamado W3C. Por último. por lo que ya podemos redactar las conclusiones sacadas en la realización del mismo. se han incluido unos anexos que creemos pueden ser interesantes sobre el desarrollo del proyecto.

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

utilizando para ello un navegador Web. 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. etc. 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. o Padres y alumnos Horario En este apartado se mostrará el horario de las clases del alumno.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. 2.S.P. Enlaces Se listarán las direcciones de otros sitios Web que el centro considere de interés.1 Perspectiva del producto La aplicación pretende proporcionar información general sobre el centro.2.2 Descripción general 2. 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.T. 1.2. de Informática Aplicada (U. características del usuario. 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.V. Faltas de asistencia E. remodelaciones.. Nuestra aplicación podrá ser accedida desde cualquier sistema operativo.) 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.) 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.. restricciones generales. También se expondrá una especificación detallada de los requisitos detectados..) 9 . supuestos y dependencias.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.

2. de Informática Aplicada (U. etc.T. aulas.) 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. 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.) Reserva de equipamientos Se podrán efectuar reservas de los equipamientos disponibles en el centro (radio-cd. 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. También podrá hacer reservas de instalaciones y equipamientos del colegio para su uso en las distintas clases. que sólo tendrán acceso a la información general del centro.P. gimnasio. Reserva de instalaciones Aquí se podrán realizar reservas de las instalaciones del centro (campo de fútbol sala. como la composición. 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. sin poder acceder a la información personalizada. E.V. Por otra parte estarán los usuarios no registrados. gimnasio.S.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.3 Características del usuario Los tipos de usuarios registrados se pueden dividir en los padres y alumnos. etc. proyector.) 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. etc.) 10 . las notas y las faltas de asistencia. los profesores y el administrador.

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

3. Además se colocarán los diferentes accesos por carretera al colegio.1. Los datos mostrados serán nombre y apellidos del alumno. Estos enlaces estarán ordenados por área de interés. 2.P.3 Listado de profesores Se mostrará una lista con los profesores que imparten clase al alumno.2.2. 2. su dirección de correo electrónico.3. 2.3.2.2. La dirección completa también se podrá consultar en este apartado.2. Los datos mostrados serán nombre y apellidos del alumno.4 Notas Aquí se podrán consultar las notas obtenidas por el alumno en las asignaturas en las que esté matriculado.3.3.2.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. También se podrá diferenciar entre las justificadas y las no justificadas.V.3.2. de Informática Aplicada (U.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.3.1 Horario Aquí se mostrará el horario de clases correspondiente al grupo en el cual está matriculado el alumno.2.2 Listado de alumnos Se mostrará una lista con los alumnos del mismo grupo al que pertenece.S. así como líneas de transporte público. 2. 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. También se podrán consultar las rutas de autobuses existentes para recoger a los alumnos. 2.2. También aparecerá la nota media del grupo para poder tener una idea de la marcha del grupo en general.2. webs de recursos educativos y los que el colegio considere oportunos.6 Menú semanal E. su dirección de correo electrónico y su despacho. 2.Vicente Sancho Guijarro Proyecto Final de Carrera realizadas en el centro.2.3.1.2.) 12 . la Conselleria de Educación.1.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.6 Localización Aquí se pondrá la dirección del centro acompañada de un mapa para facilitar la localización. como pueden ser las webs del Ministerio de Educación.2.2.2.3.8 Enlaces Aquí aparecerán enlaces a otras webs de interés para el usuario. 2. así como los periodos de evaluación o de los plazos de matriculación y presentación de becas.2.T.3.

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

aparecerá quien lo ha reservado. tales como el radio-CD.3.7 Tablón de anuncios Se podrá acceder y publicar anuncios al mismo tablón de los alumnos/padres. etc.2.3. Además se dispondrá de las normas a la hora de usar las instalaciones y de hacer la reserva.3. proyectores de diapositivas.3. las siguientes funcionalidades sólo serán accesibles al administrador del portal. 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.4. 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.4 Dar de alta noticias Se podrá introducir noticias nuevas que serán visibles en la página principal del portal. También se podrán anular reservas que haya efectuado antes el profesor.3 Modificar usuarios Podrá modificar atributos a los usuarios.4.2 Dar de baja a usuarios El administrador podrá eliminar usuarios para que ya no puedan acceder a su correspondiente información personalizada. 2.3.3. etc.V.P. Al comienzo de cada curso el administrador podrá eliminar todos los anuncios del curso pasado del foro.4.2.5 Ver estadísticas de la Web Aquí aparecerán estadísticas de la Web. o por errores a la hora de dar de alta a algún usuario.S.4. 2.T. 2. de Informática Aplicada (U. 2. En el caso de ya estar reservado en la franja horaria requerida.3.2. 2. Esto es útil para cambios de domicilio. 2. También podrán eliminar mensajes creados por ellos mismos.4.4 Administrador del portal Por último.2.6 Mantenimiento del foro Aquí el administrador podrá eliminar los anuncios del foro que el considere inapropiados.2. teléfono. E.2. con las mismas funcionalidades que ellos.3.2.Vicente Sancho Guijarro Proyecto Final de Carrera Desde aquí se podrá reservar los equipamientos del centro. como el número de accesos.4.3. 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.) 14 .1 Dar de alta usuarios El administrador podrá dar de alta a usuarios de cualquier tipo e introducir su correspondiente información.2. 2.

Aunque UML define una gran cantidad de diagramas para representar los distintos aspectos del desarrollo de la aplicación. Diagrama de clases.V. También nos permitirá conocer a grandes rasgos las clases u objetos de nuestro sistema. Tiene una serie de atributos que permite definirlos. Progenitor. requisitos y demás características que hemos detectado en el sistema. que pueda ser reservada por un profesor para realizar una clase especial en ella. 3.1.P. desde el punto del sistema. Un posible ejemplo de infraestructura reservable podría ser el caso de un aula informática. 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.) 15 . Estos modelos nos permitirán comprender mejor la aplicación. en principio por todos los usuarios registrados. Este modelo dispone de multitud de diagramas que nos ayudarán a comprender la complejidad del futuro sistema. A continuación describiremos brevemente dichas clases para conocer mejor la aplicación. lo que nos facilitará la tarea de implementación.T. El diagrama de clases nos permite visualizar las relaciones que involucran el sistema. por ejemplo.Vicente Sancho Guijarro Proyecto Final de Carrera 3. 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). siendo los más importantes. Instalación: Este objeto representa aquellas infraestructuras del colegio que pueden ser reservadas. Equipo directivo y Administrador. Profesor. permitiéndonos plasmar en un lenguaje estándar aquellas funcionalidades. lo que nos permitirá cubrir los distintos aspectos del desarrollo. de comportamiento y de interacción respectivamente). De esta clase se derivan las siguientes subclases: Alumno. Los resultados producidos por UML son el equivalente a los planos con los que trabajan los arquitectos. especialmente en grandes aplicaciones. en la medida de los permisos que les concedamos. 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. de Informática Aplicada (U. E. 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. así como la ampliación del sistema si fuera necesario.S.

P.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. E. Estos mensajes serán públicos para todos los usuarios registrados de la aplicación.T.V. de Informática Aplicada (U.S.) 16 .

aunque en este caso únicamente podrá realizar la operación profesores. representa a aquellos profesores del colegio que acceden a la sección privada de la aplicación. permite realizar reservadas de objetos del colegio. E. como eventos de un mayor alcance. ya sean sin justificar o justificándolas más adelante. Equipación: Esta clase al igual que las instalaciones. separando los grupos tanto por el curso como por una letra. Profesor: Esta clase. fiesta locales. Falta de asistencia: Este objeto permitirá identificar las ausencias de los alumnos en horario escolar. etc.P. por ejemplo excursiones. 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. derivada también de la súper clase Usuario Registrado. secretario) Dichas clases representarán a dichos cargos en la aplicación. 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. 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. de Informática Aplicada (U.) 17 . autonómicos y nacionales. Esta clase solamente podrá ser modificada por los usuarios que pertenezcan a la clase Equipo directivo o a la clase de Administradores.V. jefe estudios.T. Esta clase representa a aquellos alumnos matriculados en el centro que pueden acceder a la intranet de la aplicación. Equipo directivo: De esta clase se derivarán otras tres (director. Esta clase se deriva de Usuario Registrado. Un ejemplo de equipación que puede ser reservado sería un radio-cd o televisor. etc.S. exámenes. madres o tutores de los alumnos del centro que pueden acceder a la sección privada del sitio. Esta clase solamente podrá ser modificada por los profesores al poner las faltas. Seguirá la distribución normal de los colegios. Grupo: Este objeto contendrá la información necesaria para identificar a los distintos grupos de alumnos que conforman el colegio. por ejemplo. 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. Este objeto podrá contener tanto eventos que se producen en el centro. Alumno: Una de las clases derivadas de Usuario Registrado es alumno.

Este actor representa para la aplicación Web a todos aquellos usuarios que no se han identificado ante el sistema. E. que proporciona información adicional sobre dichos casos de uso.P. Para algunos casos de uso. así como las relaciones que aparecerán entre los distintos casos de uso.T.V. 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. No se han colocado todas las plantillas. 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. ya que muchas prácticamente son idénticas. de Informática Aplicada (U. además se incluye su plantilla. Todos ellos derivan de Usuario.) 18 . ya sea porque todavía no hayan iniciado la sesión o porque sean usuarios que estén de paso o buscando información. También nos servirá para especificar las acciones que tendrán dichos usuarios dentro de nuestra aplicación.S.2.Vicente Sancho Guijarro Proyecto Final de Carrera 3.

) 19 .2.S.T. Dado que este tipo de actor no se ha identificado ante el sistema.1. las acciones que podrá realizar serán en consecuencia muy limitadas.Vicente Sancho Guijarro Proyecto Final de Carrera 3. de Informática Aplicada (U. 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. E.V. centrándose en la obtención de información general del centro.P.

V. E. este actor nos permite crear un usuario genérico del que dependerán del resto de usuarios que pueden acceder a la intranet. 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).2. de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera 3.2.T. Como puede verse. ya que en realidad.) 20 . este usuario será el que más casos de uso disponga.S. 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.P.

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

) 22 . E.V. muestra las funcionalidades que tendrán a su disposición tanto los alumnos como sus padres.P. 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.Vicente Sancho Guijarro Proyecto Final de Carrera 3.2. de Informática Aplicada (U.4. madres. o tutores.T.S.

T.5. 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.2.V.P.S. E. 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. En este caso será el que más pueda modificar el sistema (aparte del administrador).) 23 . de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera 3.

P.V. heredan los casos de uso del usuario registrado) E. de Informática Aplicada (U.T.6.2.Vicente Sancho Guijarro Proyecto Final de Carrera 3.S.) 24 . 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.

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. También nos mostrará la secuencia temporal del flujo de mensajes. E. ya que muchos son prácticamente idénticos unos de otros.T. de Informática Aplicada (U.S. Diagrama de Secuencia Este tipo de diagrama nos ayudará a identificar las comunicaciones que se producen dentro del sistema y las operaciones de clase. ya que éste será el escenario que les permitirá acceder a la intranet del colegio. en el caso de que introduzcan correctamente sus datos (login y password).3.1.) 25 .3. 3. No se colocarán todos los diagramas de secuencia.V.Vicente Sancho Guijarro Proyecto Final de Carrera 3.P.

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

de Informática Aplicada (U.) 27 . El sistema obtendrá los datos del grupo del alumno que solicita el horario.V.Vicente Sancho Guijarro Proyecto Final de Carrera 3.P.T. Con los datos del grupo solicitará el horario de cada asignatura que tenga ese grupo en cuestión. se los devolverá al alumno E. Una vez que el sistema tenga los horarios del grupo del alumno.3. 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.S.3.

P.T. si el administrador confirma la eliminación del alumno. El sistema le devolverá todos los datos del alumno. de Informática Aplicada (U.S.V.Vicente Sancho Guijarro Proyecto Final de Carrera 3.) 28 . E. el sistema lo intentará suprimir del sistema devolviendo el resultado de la eliminación al administrador. En esta situación el administrador solicitará los datos del alumno a eliminar.3. 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.4.

) 29 .V.T.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.Vicente Sancho Guijarro Proyecto Final de Carrera 3. Para cada asignatura que se imparta en ese grupo se obtendrá sus notas correspondientes. Una vez que el sistema haya obtenido todas las notas. el sistema obtendrá los datos del alumno y con éstos los del grupo al que pertenece el alumno.3. E. El escenario comienza cuando el alumno desea ver sus notas.P. de Informática Aplicada (U.5. se las devolverá al alumno.

E. El profesor pedirá al sistema que le proporcione los alumnos que tiene en cada asignatura que imparte ese profesor. 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. de Informática Aplicada (U.3.V. Una vez que haya acabado de puntuar a los alumnos de una asignatura puede pasar a la siguiente asignatura que imparta.) 30 .6.P.T.S. El sistema le devolverá el listado de alumnos para esa asignatura. En este momento el profesor podrá calificar a cada uno de los alumnos.

T. El profesor podrá repetir este proceso por cada asignatura que imparta. 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. de Informática Aplicada (U.S. para ello deberá indicar la fecha de la falta (por defecto la fecha del sistema) y si ha sido justificada.3. 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).V.P. 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.7. E.) 31 .Vicente Sancho Guijarro Proyecto Final de Carrera 3.

P. televisores. A continuación el profesor confirmará los datos de la reserva. En el primer paso. El sistema le devolverá un listado con los días en que se puede reservar la equipación. de Informática Aplicada (U. etc. En este momento el profesor deberá escoger una de las fechas disponibles y escribir el motivo de su petición. el profesor pedirá al sistema que le muestre la disponibilidad de la equipación que está interesado en reservar. E.8.S.T.3.V. 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.Vicente Sancho Guijarro Proyecto Final de Carrera 3. a lo que el sistema le responderá si fue posible realizar la reserva de la equipación requerida.) 32 .

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

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

• 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. de Informática Aplicada (U. A la parte izquierda encontramos la zona institucional.P. E. que consta de tres elementos. Esta es la pantalla principal del sitio web. la cual se va actualizando cada segundo.P. La podemos dividir en varias partes. Figura 20 Cabecera de la página. con el logotipo del colegio.T. Emilio Lluch) y debajo de ambos una barra amarilla donde aparece la fecha y la hora actual.) 35 .Vicente Sancho Guijarro Proyecto Final de Carrera Figura 19 Captura de la página de inicio. • La cabecera.V.S. en la parte central el nombre del colegio (C.

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

como por ejemplo la fecha de inicio del próximo curso que es lo que hemos puesto en la captura de pantalla adjunta. En esta pantalla por ejemplo.S. el menú ha cambiado.V. E. Como podemos comprobar.T. se muestra el horario de un alumno.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 24 Captura de la página donde se muestra el calendario escolar.P. La siguiente captura de pantalla se corresponde con un ejemplo de página de la zona privada del alumno. ahora aparece “Bienvenido” seguido de su nombre de pila. volviendo tras ello a la página inicial del sitio web. 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. También da la opción de cerrar sesión. Para ello el alumno debe haberse identificado antes. leyendo el horario de cada asignatura de la base de datos. También observamos que en la zona donde se ha identificado el usuario.) 37 . ofertando ahora las opciones de la zona privada del alumno. de Informática Aplicada (U. 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.

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

Vicente Sancho Guijarro Proyecto Final de Carrera 4. 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.2. de Informática Aplicada (U. 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.T. Nivel de aplicación Esta capa es la encargada de implementar el comportamiento de nuestro sitio web. Los siguientes E.P. También sirve de enlace entre las otras dos capas.) 39 . 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.V. ya que la capa de presentación no accede a la base de datos directamente.S.

P. En nuestro caso nos ha sido muy útil.S. Este patrón consiste en utilizar la clase bd para todas las operaciones que interactúen con la base de datos. etc.V. es decir. alumno_inc y profesor_inc) son los encargados de implementar la lógica de las zonas correspondientes. De esta forma. 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.3. A continuación mostramos el diagrama entidad-relación utilizado para la implementación de la base de datos de nuestro proyecto. de Informática Aplicada (U.) 40 . Cuando alguno de estos ficheros necesite acceder a la base de datos ya sea para realizar una consulta o para modificar datos. E. SQL Server. 4. de mantener información de una sesión a otra aunque el sistema no esté en uso. lo hará a través de bd.) o el nombre de la base de datos por ejemplo. 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. ya que en ambos accedíamos a la base de datos con usuarios distintos. 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. 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. para hacer pruebas en nuestro servidor local y luego subirlas al servidor prestado por el director del proyecto.T. por ejemplo.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

E.anybrowser.) 57 .Vicente Sancho Guijarro Proyecto Final de Carrera 6.S.Con una resolución de 800x600. Comprobador de links 6.T. aunque hay que señalar de desde tiempo estas resoluciones tan bajas son cada vez menos frecuentes.P. 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.1 Tamaño de la ventana Gracias a la página Web http://www. que consistirán en las siguientes: • • Tamaño de la ventana. se puede ver que si se representa adecuadamente. 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. de Informática Aplicada (U.V.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.

) 58 .P.T.S.V.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. de Informática Aplicada (U. Figura 35 Resolución 1024x768 E.

disca. 6.es/webcole/historia.upv.upv.es/webcole/js/fecha.es/webcole/enlaces.es/webcole/#: OK http://pion.upv.disca.es/webcole/equipoDirectivo.disca. tuvimos que entrar en cada página y copiar el código fuente de la página para introducirlo en el validador.js: OK http://pion.) 59 .upv.T.es/webcole/contactar. Esta aplicación se puede encontrar en la siguiente dirección: http://validator.disca.es/webcole/analizadorlogin.upv.disca.es/webcole/localizacion.php: OK http://pion.disca.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).css: OK http://pion.php: OK http://pion.disca.P.disca.upv. E.V.es/webcole/: • • • • • • • • • • • • View View View View View View View View View View View View http://pion.disca. Siendo el resultado obtenido el siguiente: http://pion. que fueron los responsables del estándar.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.es/webcole/reglamento.upv.disca.es/webcole/css/general.upv. de Informática Aplicada (U.upv.upv.php: OK http://pion.disca. solamente realizaremos esta prueba sobre la parte pública de nuestra Web.Vicente Sancho Guijarro Proyecto Final de Carrera 6.php: OK http://pion.disca.es/webcole/css/principal.disca.php: OK http://pion.upv.php: OK http://pion.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.css: OK http://pion.upv.upv.org/ Como esta aplicación no podía entrar en la intranet del colegio.es/webcole/calendario.S.w3.

página válida E.página con errores Donde más problemas tuvimos fue en la parte del profesor.P. Esta propiedad no está permitida en el XHTML 1. llegando a ser necesario el pasar del XHTML 1. de Informática Aplicada (U.0 Strict al XHTML 1.V.0 Transitional. que tiene menos restricciones que el estricto.T.S.) 60 . 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.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 36 XHTML . Figura 37 XHTML .0 Strict.

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

P.Vicente Sancho Guijarro Proyecto Final de Carrera 6.7 6. así como su visualización. Explorer 6 En este navegador se pueden ver algunos problemas con la cabecera de la Figura 40 Explorer 6 . 6.S.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. En concreto comprobaremos los siguientes navegadores: • • • • • Firefox 2 Explorer 6 Explorer 7 Opera 9 Mozilla 1. de Informática Aplicada (U.T.V.5 Navegadores Esta prueba consiste en comprobar el correcto funcionamiento en los navegadores más utilizados.Problemas visualización E.2 página.5.) 62 .5.

No se pueden poner ni quitar faltas a alumnos aislados.S.5. 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).3 Explorer 7 A diferencia de lo que hacia su predecesor. E.P. página de reservas de equipaciones (Intranet de profesores). de Informática Aplicada (U. Explorer 7 si representa correctamente la página inicial de la aplicación Web.T. 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).) 63 . Figura 41 Explorer 7 . Explorer 6 se queda a medias. siendo capaz de ejecutar algunas de ellas y dando errores en otras.Vicente Sancho Guijarro Proyecto Final de Carrera En cuanto a la capacidad de ejecutar las funcionalidades que hacen uso de Javascript. aunque en esta versión si es posible efectuar las reservas de instalaciones y equipaciones.página inicial Las limitaciones por el código Javascript son prácticamente las mismas que en la versión anterior.V. No se pueden anular las reservas No se pueden realizar nuevas reservas de instalaciones y equipaciones. 6.

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

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

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.) 66 . mediante técnicas de encriptación de datos utilizando protocolos como ssl. 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. 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. práctico e incluso interpersonal.V. diseño e implementación de la misma. aunque siempre con la guía de nuestro tutor del proyecto. css y javascript o de adquirirlos desde cero en algunos casos. lo que nos obligó a hacer un esfuerzo con el fin de adaptarnos unos a otros. y del equipo directivo. lo que nos ayudará en nuestro futuro como profesionales del sector de la informática. 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. dejándonos ciertas partes del proyecto sin poder implementar.T. E. 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.P. que nos ayudó señalándonos los fallos que cometimos durante el desarrollo de la aplicación. de Informática Aplicada (U. Hacer seguro la transmisión de datos sensibles de la aplicación como puedan ser las contraseñas.S.Vicente Sancho Guijarro Proyecto Final de Carrera 7. Durante el trabajo en este proyecto nos hemos tenido que afrontar una serie de problemas. obligándonos a tomar decisiones en cuanto al análisis. Nos ha dado la oportunidad de iniciar una aplicación desde sus inicios hasta casi su final. 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. Entre las principales faltas destacan: • • Implementación de la parte del administrador. tanto de índole teórico.

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

directorios.1 . un nuevo estándar público y abierto para la Web. es decir. lo que equivale a una homologación de la propuesta.S.Vicente Sancho Guijarro Proyecto Final de Carrera 9. abreviado W3C. La mayoría de estas recomendaciones son secundadas por los fabricantes de herramientas (navegadores. E. HTTP (HyperText Transfer Protocol. En el sitio web del consocio se pueden validar páginas web para comprobar si cumplen los estándares. de Informática Aplicada (U. registros).W3C Figura A. Esta competencia en exclusiva del W3C para crear estándares abiertos es crucial. 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".) 68 . es un consorcio internacional que produce estándares para la World Wide Web.V.P. 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. Está dirigida por Tim Berners-Lee. el creador original de URL (Uniform Resource Locator.T.Logotipo de la W3C El World Wide Web Consortium. Anexos A. buscadores) y tecnologías (servicios Web. pues de ella depende que ningún fabricante alcance nunca el monopolio de explotación de la Web.Logotipos que la W3C le concede a las páginas web que cumplen con los estándares XHTML 1.0 y CSS respectivamente.2 . Localizador Uniforme de Recursos). 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. editores.

esta albergada por la Fundación CTIC en el Parque Científico Tecnológico de Gijón (Principado de Asturias).World Wide Web Consortium • www. Israel. Estos organismos adminstran el consorcio el cual está integrado por: • Miembros del W3C. Centros regionales establecidos en Alemania y Austria (oficina cojunta).T. 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. establecida en el 2003. actual sede central del consorcio. Más información: • www.w3c. Uniéndose posteriormente en abril de 1995 INRIA en Francia. Grecia.Vicente Sancho Guijarro Proyecto Final de Carrera La W3C fue creada el 1 de octubre de 1994 por Tim Berners-Lee en el MIT. Australia.P. Suecia y Reino Unido e Irlanda (oficina conjunta) (Oficinas W3C) La oficina española del W3C. Marruecos. 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). Benelux (oficina conjunta).S. de Informática Aplicada (U. Italia. Corea del Sur.es . Hong Kong. España.org .) 69 . Hungría.V.w3c. India.Oficina española del consorcio E. China. Finlandia.

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

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

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

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

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.5 Eclipse Auto completado de variable La página inicial de esta aplicación es: http://www.org/ E.Vicente Sancho Guijarro Proyecto Final de Carrera Figura 47 B.S.) 74 .V.eclipse. de Informática Aplicada (U.P.T.4 Eclipse .

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

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

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

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. Apache es el servidor HTTP más usado. eliminar y alterar tablas.) 78 . exportar datos en varios formatos y está disponible en 50 idiomas.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.Logotipo de phpMyAdmin E. administrar claves en campos. de Informática Aplicada (U.3 . 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. 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.T. 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). Figura 54 C.Vicente Sancho Guijarro Proyecto Final de Carrera inglés.V. editar y añadir campos. El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache presenta entre otras características mensajes de error altamente configurables. borrar. Como esta herramienta se ejecuta en máquinas con Servidores Webs y Soporte de PHP y MySQL.P. Figura 55 C. Apache tiene amplia aceptación en la red: en el 2005. a patchy server (un servidor "parcheado"). bases de datos de autenticación y negociado de contenido. ejecutar cualquier sentencia SQL.S. utilizando Internet. la tecnología utilizada ha ido variando durante su desarrollo.4 . Este proyecto se encuentra vigente desde el año 1998. Actualmente puede crear y eliminar Bases de Datos. administrar privilegios. pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. Se encuentra disponible bajo la licencia GPL. crear.

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. de Informática Aplicada (U. síncronas Ext.1 El sistema guardará la reserva. 4. como pueden ser la pista de fútbol. 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). También deberá proporcionar el motivo de la reserva. El sistema comprueba si la instalación está disponible para dicha fecha 6.T. el número de horas que se quieren reservar. El usuario confirma la reserva. Si está disponible 7. la hora de inicio. En la reserva se hará constar la fecha.) 79 . El caso de uso comienza cuando el usuario registrado selecciona “Reservar Instalaciones” 2.P. Para dicha instalación. El usuario deberá seleccionar una instalación.V. 3. El sistema muestra una lista con las instalaciones que se pueden reservar. 7. 5. Incluye Extiende Hereda de 1. Ext. El Usuario Registrado debe haber iniciado sesión correctamente. etc. Precondiciones Postcondiciones El sistema deberá guardar la reserva. el gimnasio. Se podrán reservar las instalaciones del centro. así como el motivo de la reserva. el usuario deberá seleccionar una fecha de las disponibles (días en que dicha instalación no esta reservada). Únicamente E.Vicente Sancho Guijarro Proyecto Final de Carrera D. el aula de usos múltiples.S.

S.) 80 . # En 4 el usuario registrado puede cancelar la anulación de reservas El profesor o por el alumno deben haber iniciado sesión correctamente. síncronas Ext. El sistema mostrará las reservas efectuadas por el usuario registrado 3. Se mostrarán los anuncios aparecidos en el tablón de anuncios del colegio.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. Si es un profesor 3. 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.V. El caso de uso comienza cuando el usuario registrado selecciona “Anular Reserva” 2.1 El sistema mostrará las reservas de material realizadas por el profesor 4. El sistema eliminará las reservas anuladas por los usuarios registrados.P. de Informática Aplicada (U. El sistema devuelve los anuncios publicados en el tablón de anuncios. El caso de uso comienza cuando el usuario registrado selecciona “Mostrar Tablón de Anuncios” 2.T. El usuario registrado confirmará la cancelación de la reserva 6. El usuario registrado seleccionará una reserva 5. Ninguna 1. El usuario registrado debe haber iniciado sesión correctamente. sincronas E. Ext. El sistema eliminará la reserva seleccionada. Mostrar Reservas Ext.

Ext. código postal. Precondiciones Postcondiciones Incluye Extiende Hereda de Flujo de eventos 1. # En 3 el administrador puede cancelar la acción. síncronas Ext. código del grupo al que asistirá. aunque no necesariamente todas en este instante. # En 2 el código de alumno es asignado automáticamente. teléfono de contacto. El sistema comprobará que todos los datos tengan una estructura correcta 5. población. código del grupo al que asistirá. apellidos. población. porque se han dado de baja en el centro en el caso de los alumnos. 3. Para ello se deberá de dar ciertos datos del alumno a ingresar (nombre. de Informática Aplicada (U. nombre de los padres. El sistema guardará los datos del nuevo usuario profesor. El administrador será el encargado de dar de alta a nuevo alumnos en el centro. domicilio.T.S. nombre de los padres. contraseña) El administrador debe haber iniciado sesión correctamente. El caso de uso comienza cuando el administrador selecciona “Dar de Alta Alumnos” 2. apellidos.P. contraseña)).V. El sistema almacenará la información del nuevo profesor. 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. 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. E. El administrador rellenará los campos del formulario de alta de alumnos (nombre. El administrador confirmará la creación de un nuevo usuario profesor 4.Vicente Sancho Guijarro Ext. curso.) 81 . código postal. curso. domicilio. teléfono de contacto.

) 82 . El administrador selecciona el alumno a eliminar 3. El alumno/Progenitor debe haber iniciado sesión correctamente. Ext.T.P. El sistema borra los datos del alumno. síncronas # En 5 el administrador puede cancelar la acción. 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. El sistema devuelve los datos del alumno a eliminar 4. 1. # 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.S. de Informática Aplicada (U.Vicente Sancho Guijarro Precondiciones Postcondiciones Incluye Extiende Hereda de Flujo de eventos Proyecto Final de Carrera El administrador debe haber iniciado sesión correctamente. También aparecerá la nota media del grupo para poder tener una idea de la marcha del grupo en general. El sistema deberá eliminar al alumno.V. El administrador confirma que desea eliminar a ese alumno 5. Ninguna Precondiciones Postcondiciones Incluye Extiende Hereda de E. Ext. El caso de uso comienza cuando el administrador selecciona “Eliminar alumno/padre” 2.

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

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

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

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

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.) 95 . Figura 70 Intranet Profesor .datos cargados E. De los alumnos se muestran los apellidos el nombre y el nombre de usuario. de Informática Aplicada (U.T.Vicente Sancho Guijarro Proyecto Final de Carrera Hay que escoger una asignatura de las disponibles.S.P. como puede verse en la siguiente imagen.V.

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

Los valores a introducir deben ser números.) 97 .mensaje error d. de Informática Aplicada (U. El primero consistiría en ir alumno a alumno introducir la nota y hacer clic en el botón de “Guardar”. Como sucedía en páginas anteriores. Faltas asistencia En esta página. 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.Vicente Sancho Guijarro Proyecto Final de Carrera Se podrá optar por dos modos para guardar las notas. 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. que desplegará un calendario donde habrá que hacer clic en el día escogido.S.notas . Para ello habrá que pulsar el “Selecciona Dia”. y esta falta quedaría asociada con la asignatura en la que cometió la falta de asistencia. E.V.P. Lo siguiente es escoger la fecha de la falta.T. el profesor podrá rellenar los datos de las faltas de asistencia de los alumnos. Únicamente podrá poner faltas de asistencia a aquellos alumnos que tengan clase con el profesor. es necesario escoger la asignatura que se quiera consultar. En caso de introducir un valor no válido el sistema mostrará un mensaje como el siguiente: Figura 73 Intranet Profesor .

Vicente Sancho Guijarro Proyecto Final de Carrera Figura 74 Intranet Profesor .V.) 98 . no hace falta tocarlo. El primero por la izquierda permite seleccionar varios alumnos a la vez para ponerles la falta. porque el sistema coge la fecha seleccionada inicialmente en el calendario. 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. 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. El siguiente elemento es la fecha.T. Figura 75 Intranet profesor – falta Después de cada alumno aparecen una serie de elementos que permiten el manejo de las faltas. E. de Informática Aplicada (U.P.S.falta – Calendario Una vez se haya escogido el día y la asignatura se cargarán los alumnos. Para conseguir poner la falta a los alumnos seleccionados será necesario pulsar el botón “Poner falta a todos”. También aparecerán si para la fecha escogida los alumnos ya le habían puesto una falta de asistencia.

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

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

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

S.Vicente Sancho Guijarro Proyecto Final de Carrera g.P. Figura 82 Intranet Profesor . La información restante que podía verse en el anuncio anterior la obtendrá el sistema de forma automática.T. Figura 83 Intranet Profesor . de Informática Aplicada (U.Insertar anuncio Sólo hay que rellenar el campo de título y el de texto (que contendrá el anuncio en sí). que podrán ser consultados por todos los miembros del colegio cuando accedan a sus respectivas intranets.V.) 102 . E. 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. Tablón de anuncios Esta página nos permitirá insertar nuevos anuncios.

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

) 104 . Horario Esta página nos mostrará el horario semanal que tiene el alumno conectado Figura 87 Intranet alumno – horario E.P. en la que nos encontramos ahora. 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.S. A la izquierda puede verse un menú de navegación. Figura 86 Menú navegacional La primera opción “Inicio” nos llevará devuelta a la página inicial de la intranet del alumno. de Informática Aplicada (U.V. a.T.

listado profesores Entre la información que aparece se encuentra la asignatura impartidas. 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 . Figura 89 Intranet alumno . de Informática Aplicada (U. Listado alumnos Esta página el alumno podrá consultar los datos del grupo en el que está matriculado: el curso y letra del grupo. si tiene. E.T. el tutor y el listado de alumnos matriculados con él en dicho grupo. Figura 88 Intranet alumno . el delegado.V. el horario de tutorías. el profesor. y su correo electrónico.S.P.listado alumno c.Vicente Sancho Guijarro Proyecto Final de Carrera b.

Figura 91 Intranet alumno . e. de Informática Aplicada (U.faltas asistencia E. 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.P.T.S.) 106 .V. 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. así como la asignatura a la que falto y la fecha.Vicente Sancho Guijarro Proyecto Final de Carrera d.

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

para hacer efectiva la reserva deberemos de indicarle el motivo por el que deseamos realizar la reserva.T. Una vez efectuada la reserva nos redirigirá directamente a la página de instalaciones donde podremos ver que efectivamente se tiene una nueva reserva.reserva confirmada E. no pudiendo seleccionarlos. de Informática Aplicada (U.Vicente Sancho Guijarro Proyecto Final de Carrera Desde aquí podremos acceder a reservar nuevas instalaciones. A continuación. Deberemos escoger una instalación que queramos reservar del menú desplegable.P. Como mínimo harán falta 5 caracteres. Figura 94 Intranet alumno . 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.V.) 108 . Figura 95 Intranet alumno .S.reserva de instalaciones.

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

'>". text-align: center. width: 100%.T. } } function pasar_a_webcole_i($link) { echo "<html><head>". text-align: left. text-align: left. echo "<tr><td style='width: 281px. Código Setup.'>". echo "<table style='text-align: left.P.'>Estado</span></big></td>". if(!$db) { E. echo "<td style='text-align: center. if(!$db) { echo "<td style='width: 163px. echo "<td style='text-align: center.'>Error</span></big></td>". echo "<tr><td style='width: 281px. text-align: center.'><big><span style='font-weight: bold. $db = cambiar_a_bd_i($link).PHPeclipse . echo " " . width: 163px. fontweight: bold.</td></tr> \n". echo "<title>Cambio de base de datos</title></head>". echo "<tbody> <tr> <td style='text-align: center.'><big><span style='font-weight: bold. require_once "conexion_i.' border='1' cellpadding='2' cellspacing='2'>". width: 100%. echo "<td style='width: 255px.Code Templates */ require_once "conexion.Vicente Sancho Guijarro Proyecto Final de Carrera F. width: 281px. } else { echo "<td style='width: 163px. width: 255px. text-align: center.'>&nbsp.'><big>Descripcion</big></td>". "\n". echo "<font><b>Cambio a la base de datos de WebCole </b></font><br>\n".) 110 .S.php".' border='1' cellpadding='2' cellspacing='2'>". echo "<font color=red>Error </font>\n". echo "<font><b>Cambio a la base de datos de WebCole </b></font><br>\n". function pasar_a_webcole($link) { echo "<html><head>".'>". mysql_error() . echo "</tr>". echo "</td>". text-align: center.'>".Preferences . echo "</td>". echo "</td>\n".'><big><span style='font-weight: bold. echo "<title>Cambio de base de datos</title></head>".V. echo "<font color=green>Correcto</font>\n". echo "</td>\n".'>Error</span></big></td>". width: 281px.'>Estado</span></big></td>". echo "<td style='width: 255px. fontweight: bold. de Informática Aplicada (U. echo "<td style='text-align: center.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 .'>". echo "</td>". $db =cambiar_a_bd($link). echo "<table style='text-align: left. width: 255px.php').PHP .'><big><span style='font-weight: bold.'><big>Descripcion</big></td>". require_once ('interfaz_db. echo "<tbody> <tr> <td style='text-align: center.php". echo "</tr>". echo "<td style='text-align: center. width: 163px.

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

' )' . ' TYPE = innodb.' .'.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 . ' PRIMARY KEY (`login`).) 112 . $sql_anuncio = 'CREATE TABLE `anuncio` (' .'.' . ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' )' . ' . ' `normas` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL . ' )' . ' `normas` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL . ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' .' . ' )' . ' PRIMARY KEY (`login`). ' `dni` VARCHAR(8) NOT NULL. $sql_secretario = 'CREATE TABLE `secretario` (' . ' . ' PRIMARY KEY (`login`). ' . ' `idinstalacion` TINYINT UNSIGNED NOT NULL. ' .'.'. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.'. ' .S. ' `titulo` VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' `email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL. ' )' . ' . $sql_instalacion = 'CREATE TABLE `instalacion` (' . $sql_eq = 'CREATE TABLE `equipodirectivo` (' . ' `fecha` DATETIME NOT NULL.' . ' `idanuncio` MEDIUMINT UNSIGNED NOT NULL. ' . ' . ' )' . ' FOREIGN KEY (`login`) REFERENCES `equipodirectivo`(`login`)' . ' `instalacion` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' PRIMARY KEY (`idanuncio`)' . ' PRIMARY KEY (`login`). ' FOREIGN KEY (`login`) REFERENCES `equipodirectivo`(`login`)' . ' `dni` VARCHAR(8) NOT NULL. ' TYPE = innodb. ' FOREIGN KEY (`login`) REFERENCES `equipodirectivo`(`login`)' .P.T. ' `idequipacion` TINYINT UNSIGNED NOT NULL. ' `equipacion` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.' . ' . de Informática Aplicada (U. $sql_director = 'CREATE TABLE `director` (' . ' .'. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' `estado` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' )' . ' TYPE = innodb.' .' .' . ' PRIMARY KEY (`idinstalacion`). ' TYPE = innodb. ' PRIMARY KEY (`login`). ' .' .V. ' TYPE = innodb.' .'. ' TYPE = innodb. ' `email` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL.' . ' `texto` TEXT NULL.' . ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' . ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' . ' PRIMARY KEY (`idequipacion`)' E. $sql_jefe = 'CREATE TABLE `jefeestudio` (' . ' TYPE = innodb. ' . ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`)' . ' . ' . $sql_equipacion = 'CREATE TABLE `equipacion` (' .

\'5\'. ' FOREIGN KEY (`asignatura`) REFERENCES `asignatura`( `codigoasignatura`)' . ' TYPE = innodb.'. `alumno`). ' `profesor` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' .V. ' . ' . ' `padre` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' )' . ' FOREIGN KEY (`asignatura`) REFERENCES `asignatura`( `codigoasignatura`). ' `horario` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL. ' `alumno` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' . `idinstalacion`. ' PRIMARY KEY (`login`. ' `asignatura` TINYINT UNSIGNED NOT NULL. ' `curso` ENUM(\'1\'.\'4\') collate utf8_spanish_ci NOT NULL. ' `alumno` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' TYPE = innodb.'. ' PRIMARY KEY (`padre`. `profesor`).' .'.\'6\') NOT NULL.\'3\'. ' . ' )' .`fecha`).'. ' )' . ' `idequipacion` TINYINT UNSIGNED NOT NULL.' . $sql_imparte = 'CREATE TABLE `imparte` (' .\'3\'.'. ' . ' . ' . ' PRIMARY KEY (`asignatura`. ' `fecha` DATETIME NOT NULL. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.'. ' `codigoasignatura` TINYINT UNSIGNED NOT NULL. ' FOREIGN KEY (`alumno`) REFERENCES `usuario`(`login`)' . ' )' .\'6\') NOT NULL.' . $sql_responsable = 'CREATE TABLE `responsable` (' .' . ' PRIMARY KEY (`login`. ' `proposito` TEXT NOT NULL.' . ' . ' )' .\'2\'. ' `nombre` VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' FOREIGN KEY (`profesor`) REFERENCES `profesor`(`login`)' .\'3\'. ' .\'4\'.' .\'4\'. $sql_asignatura = 'CREATE TABLE `asignatura` (' .' . ' TYPE = innodb. $sql_nota = 'CREATE TABLE `nota` (' .' . ' TYPE = innodb. ' `curso` ENUM(\'1\'. ' . ' `trimestre` enum(\'1\'.\'2\'.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 . Proyecto Final de Carrera $sql_res_ins = 'CREATE TABLE `res_ins` (' .'.' . ' FOREIGN KEY (`idequipacion`) REFERENCES `equipacion`( `idequipacion`)' . ' PRIMARY KEY (`alumno`.`fecha`). ' FOREIGN KEY (`login`) REFERENCES `profesor`(`login`).`trimestre`).T. ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.' . ' `proposito` TEXT NOT NULL. ' FOREIGN KEY (`alumno`) REFERENCES `alumno`(`login`). ' `nota` FLOAT NOT NULL. $sql_res_equi = 'CREATE TABLE `res_equi` (' .' .P. de Informática Aplicada (U. E. ' TYPE = innodb. `idequipacion`.\'2\'. ' )' . ' . ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`). ' TYPE = innodb.' . ' .' .S. ' FOREIGN KEY (`idinstalacion`) REFERENCES `instalacion`( `idinstalacion`)' . ' `fecha` DATETIME NOT NULL. `asignatura`.' . ' FOREIGN KEY (`padre`) REFERENCES `usuario`(`login`).' . ' `asignatura` TINYINT UNSIGNED NOT NULL. ' .) 113 . ' `idinstalacion` TINYINT UNSIGNED NOT NULL. ' TYPE = innodb.\'5\'.' .' . ' PRIMARY KEY (`codigoasignatura`)' . ' )' .

' . ' FOREIGN KEY (`tutor`) REFERENCES `profesor`(`login`)' . ' `asignatura` TINYINT UNSIGNED NOT NULL. `asignatura`). ' PRIMARY KEY (`curso`.'.\'4\'. ' `titulo` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. ' TYPE = innodb.' . echo "<table style='text-align: left. E.`fecha`). width: 281px.'.'><big><span style='font-weight: bold.'>Estado</span></big></td>". ' . ' FOREIGN KEY (`login`) REFERENCES `usuario`(`login`). ' )' . ' )' . ' `login` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. width: 255px. $sql_evento = 'CREATE TABLE `evento` (' . ' `letra` ENUM(\'A\'. ' FOREIGN KEY (`curso`.\'E\'. ' FOREIGN KEY (`evento`) REFERENCES `evento`(`idevento`)' . ' `lugar` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL.\'E\'. width: 100%. `letra`).' .\'5\'. ' PRIMARY KEY (`curso`. ' `curso` ENUM(\'1\'.' border='1' cellpadding='2' cellspacing='2'>".'. ' `letra` ENUM(\'A\'.' .'. ' FOREIGN KEY (`asignatura`) REFERENCES `asignatura`( `codigoasignatura`)' .'><big><span style='font-weight: bold.' . ' .' . ' . ' `tutor` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL. $sql_grupo = 'CREATE TABLE `grupo` (' .\'5\'.'><big>Descripcion</big></td>". echo "<td style='text-align: center. ' `fecha` DATETIME NOT NULL.\'B\'. ' `descripcion` TEXT NOT NULL. ' . ' `evento` SMALLINT UNSIGNED NOT NULL. ' . ' )' . ' .\'2\'. ' FOREIGN KEY (`asignatura`) REFERENCES `asignatura`( `codigoasignatura`)' .' .'>Error</span></big></td>".' . `letra`) REFERENCES `grupo`(`curso`.' . $sql_impartida = 'CREATE TABLE `impartida` (' .\'F\') NOT NULL. $sql_gen_even = 'CREATE TABLE `gen_even` (' . width: 163px. ' )' .`asignatura`.\'6\') NOT NULL. ' `delegado` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NULL. ' . ' .\'F\') NOT NULL. echo "<td style='text-align: center.) 114 . ' PRIMARY KEY (`alumno`. ' `curso` ENUM(\'1\'. ' TYPE = innodb.T.' .S.\'D\'.\'2\'.\'6\') NOT NULL. ' TYPE = innodb DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci.\'4\'. ' .\'C\'. `evento`).' . ' PRIMARY KEY (`idevento`)' . ' `aula` VARCHAR(5) NOT NULL. de Informática Aplicada (U. echo "<tbody> <tr> <td style='text-align: center. ' TYPE = innodb.\'D\'. ' )' . ' `idevento` SMALLINT UNSIGNED NOT NULL. ' . echo "<title>Creacion de las tablas de base de datos WebCole</title>< /head>".\'3\'. ///// // Ejecucion de las creaciones de tablas //// echo "<html><head>".P. ' FOREIGN KEY (`alumno`) REFERENCES `alumno`(`login`).\'C\'. ' `fecha` DATE NOT NULL. fontweight: bold.' .\'B\'. ' PRIMARY KEY (`login`. ' . ' . `letra`). ' TYPE = innodb.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` (' .'. ' `asignatura` TINYINT UNSIGNED NOT NULL.V.' . ' FOREIGN KEY (`delegado`) REFERENCES `alumno`(`login`). ' . ' `alumno` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL. echo "</tr>".' . `letra`.\'3\'. ' `justificada` BOOL NOT NULL DEFAULT \'0\'.

"\n".) 115 .'>".</td></tr> \n". text-align: center.</td></tr> \n". echo "<font color=green>Correcto</font>\n". text-align: center. echo "</td>". echo "<font color=red>Error </font>\n". E. text-align: center. if(!$result) { echo "<td style='width: 163px.'>".T. text-align: left. echo "<font><b>Creacion de la tabla de alumnos </b></font><br>\n". mysql_error() . echo "<td style='width: 255px. echo "<tr><td style='width: 281px. if(!$result) { echo "<td style='width: 163px. text-align: center.S.'>".</td></tr> \n". text-align: center. text-align: center.P. echo "<td style='width: 255px. echo "<tr><td style='width: 281px. echo "<td style='width: 255px. de Informática Aplicada (U. echo "" . echo "" .'>&nbsp. "\n". text-align: left.'>". echo "" . text-align: center. echo "<td style='width: 255px. "\n".'>".'>". echo "<td style='width: 255px. } else { echo "<td style='width: 163px. echo "<font color=green>Correcto</font>\n".'>". echo "</td>\n". echo "</td>". text-align: center.'>&nbsp.'>". echo "<font><b>Creacion de la tabla de profesores </b></font><br>\n". echo "</td>". text-align: left. "\n". } $result = mysql_query($sql_profesor).'>&nbsp. echo "" .'>". echo "<tr><td style='width: 281px.'>". echo "</td>". echo "</td>". echo "<td style='width: 255px. text-align: center. echo "</td>". text-align: center. echo "<tr><td style='width: 281px. echo "<font><b>Creacion de la tabla de usuarios </b></font><br>\n". if(!$result) { echo "<td style='width: 163px. } $result = mysql_query($sql_alumno). echo "</td>\n". echo "<font color=green>Correcto</font>\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).V. echo "</td>". echo "</td>". echo "</td>\n". echo "<td style='width: 255px.'>". text-align: center. echo "</td>".'>". text-align: left. } else { echo "<td style='width: 163px. text-align: center.'>". echo "<font color=red>Error </font>\n". text-align: center. } $result = mysql_query($sql_padre). } else { echo "<td style='width: 163px. mysql_error() . echo "<font color=red>Error </font>\n". text-align: center. if(!$result) { echo "<td style='width: 163px. mysql_error() .'>". mysql_error() . echo "<font color=red>Error </font>\n". echo "</td>\n". echo "<font><b>Creacion de la tabla de padre </b></font><br>\n".'>". echo "</td>".

S.</td></tr> \n". text-align: center. text-align: center. text-align: center.'>&nbsp.'>". text-align: center. echo "<font color=red>Error </font>\n". "<td style='width: 255px. echo "</td>". echo "<font color=green>Correcto</font>\n". echo "<td style='width: 255px.'>".'>". echo "</td>". text-align: center. echo "" . echo "<td style='width: 255px. } else { echo "<td style='width: 163px. E.T.'>".'>". "\n". echo "<tr><td style='width: 281px. text-align: center. echo "<font color=green>Correcto</font>\n". } else { echo echo echo echo \n". text-align: center. echo "<font><b>Creacion de la tabla de administrador </b></font><br>\n". echo "<td style='width: 255px. echo "<td style='width: 255px. echo "</td>\n".'>". echo "</td>". "\n". text-align: center.'>". echo "</td>". "<font color=green>Correcto</font>\n". echo "<font color=green>Correcto</font>\n". } Proyecto Final de Carrera "<td style='width: 163px.'>". echo "<font><b>Creacion de la tabla de equipo directivo </b></font><br> \n". text-align: center.'>".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>". echo "</td>". echo "<font color=red>Error </font>\n".'>&nbsp.'>". echo "</td>\n". echo "<tr><td style='width: 281px.</td></tr> \n". echo "<font color=red>Error </font>\n". if(!$result) { echo "<td style='width: 163px. mysql_error() . mysql_error() . echo "</td>". echo "<font><b>Creacion de la tabla de director </b></font><br>\n". text-align: center. echo "<tr><td style='width: 281px. text-align: center. text-align: center. echo "</td>\n". } $result = mysql_query($sql_eq).'>". echo "</td>".</td></tr> \n".) 116 . mysql_error() . text-align: center. if(!$result) { echo "<td style='width: 163px. } else { echo "<td style='width: 163px. echo "<td style='width: 255px. text-align: center. "\n".V.'>&nbsp. echo "</td>". text-align: left. text-align: left. "</td>".P. echo "" . de Informática Aplicada (U. echo "" .</td></tr> $result = mysql_query($sql_admin). text-align: left. } else { echo "<td style='width: 163px. echo "</td>". echo "<td style='width: 255px.'>".'>". } $result = mysql_query($sql_director).'>&nbsp. if(!$result) { echo "<td style='width: 163px.

text-align: center. text-align: left. mysql_error() . echo "<td style='width: 255px.'>".'>".'>". echo "</td>\n".'>&nbsp. text-align: center. echo "<font color=green>Correcto</font>\n".S. echo "</td>".) 117 . text-align: center. echo "<tr><td style='width: 281px. mysql_error() . text-align: center. } else { echo "<td style='width: 163px. text-align: center. text-align: center.'>".T. text-align: center. if(!$result) { echo "<td style='width: 163px. echo "<font color=red>Error </font>\n".'>".P.'>".V. echo "<tr><td style='width: 281px. echo "<tr><td style='width: 281px. echo "<font><b>Creacion de la tabla de secretario </b></font><br>\n". if(!$result) { echo "<td style='width: 163px. echo "" . echo "<font><b>Creacion de la tabla de tabla de anuncios </b></font><br> \n". text-align: left.'>". E. text-align: left. text-align: center. "\n". echo "</td>". if(!$result) { echo "<td style='width: 163px.'>". echo "</td>\n". text-align: center. echo "<td style='width: 255px. echo "<font><b>Creacion de la tabla de Jefe de estudios </b></font><br> \n".</td></tr> \n". text-align: center.'>&nbsp. echo "</td>". echo "</td>". mysql_error() . echo "<td style='width: 255px. echo "<font color=red>Error </font>\n". echo "</td>". echo "</td>". echo "" . text-align: center.'>". } $result = mysql_query($sql_anuncio). } else { echo "<td style='width: 163px. } $result = mysql_query($sql_instalacion). } else { echo "<td style='width: 163px. echo "</td>". echo "<font color=red>Error </font>\n". echo "</td>\n".'>". echo "<font color=green>Correcto</font>\n". text-align: left. text-align: center.'>". echo "<td style='width: 255px. echo "</td>\n". echo "" . echo "<font><b>Creacion de la tabla de instalacion </b></font><br>\n". echo "</td>". text-align: center.</td></tr> \n".'>".'>". echo "<td style='width: 255px. echo "<td style='width: 255px. "\n". echo "</td>".</td></tr> \n".'>".'>&nbsp. echo "<font color=green>Correcto</font>\n". de Informática Aplicada (U.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). if(!$result) { echo "<td style='width: 163px. } $result = mysql_query($sql_secretario). echo "<tr><td style='width: 281px. "\n".

text-align: center. text-align: center.T.V. echo "<font color=green>Correcto</font>\n".'>". mysql_error() . if(!$result) { echo "<td style='width: 163px. "</td>". echo "</td>\n". mysql_error() . mysql_error() . echo "<font color=green>Correcto</font>\n".</td></tr> \n".'>". echo "<td style='width: 255px. "<td style='width: 163px. echo "<font><b>Creacion de la tabla de res_ins </b></font><br>\n".'>". echo "<font color=red>Error </font>\n". text-align: center.'>". "\n". "<td style='width: 255px. echo "</td>". if(!$result) { echo "<td style='width: 163px.'>". echo "<tr><td style='width: 281px. de Informática Aplicada (U. echo "</td>".'>". E.'>".'>".'>&nbsp.'>". } Proyecto Final de Carrera "<font color=red>Error </font>\n". text-align: center. text-align: center. "\n". echo "" .'>". } else { echo "<td style='width: 163px. echo "</td>". echo "<tr><td style='width: 281px. text-align: center. text-align: center. echo "</td>\n". echo "</td>". echo "</td>\n". echo "<td style='width: 255px. } $result = mysql_query($sql_res_ins). echo "<tr><td style='width: 281px. echo "<font color=red>Error </font>\n". echo "<font color=green>Correcto</font>\n". "</td>". "\n". } $result = mysql_query($sql_res_equi). text-align: center. "</td>". if(!$result) { echo "<td style='width: 163px.'>". echo "</td>". text-align: center. echo "<td style='width: 255px. echo "" .S. "<td style='width: 255px. text-align: center. echo "<font><b>Creacion de la tabla de equipacion </b></font><br>\n". text-align: center.'>&nbsp. text-align: left. echo "<font><b>Creacion de la tabla de res_equi </b></font><br>\n".</td></tr> $result = mysql_query($sql_equipacion). echo "<td style='width: 255px. text-align: left.'>&nbsp. "<font color=green>Correcto</font>\n". "\n". text-align: center. } else { echo "<td style='width: 163px. "" .</td></tr> \n". text-align: center. echo "<font color=red>Error </font>\n".P. echo "</td>". echo "<td style='width: 255px. echo "</td>". echo "</td>". text-align: center. echo "</td>".'>". } else { echo "<td style='width: 163px. mysql_error() .'>".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 "" .) 118 . text-align: left.'>".

if(!$result) { echo "<td style='width: 163px. text-align: center. text-align: center. echo "</td>\n". text-align: center. } else { echo "<td style='width: 163px. echo "" . echo "<tr><td style='width: 281px. echo "</td>\n". } else { echo "<td style='width: 163px.P. echo "<td style='width: 255px.'>". echo "<font color=green>Correcto</font>\n". echo "<tr><td style='width: 281px.'>". text-align: center. echo "" .'>&nbsp. text-align: left. } $result = mysql_query($sql_asignatura). echo "<td style='width: 255px.) 119 . "\n".'>". echo "<font color=red>Error </font>\n".'>".'>&nbsp. E. } $result = mysql_query($sql_imparte). echo "</td>". echo "<font><b>Creacion de la tabla de asignatura </b></font><br>\n". mysql_error() . echo "<font><b>Creacion de la tabla de nota </b></font><br>\n".S. echo "<tr><td style='width: 281px.'>". text-align: center. echo "<font color=red>Error </font>\n". echo "<tr><td style='width: 281px.'>".'>". text-align: center. echo "<font><b>Creacion de la tabla de responsable </b></font><br>\n". } $result = mysql_query($sql_nota). echo "<td style='width: 255px. echo "<font><b>Creacion de la tabla de imparte </b></font><br>\n".V. text-align: center. echo "<font color=red>Error </font>\n". text-align: center. echo "<td style='width: 255px. echo "<font color=green>Correcto</font>\n". de Informática Aplicada (U.'>". echo "<td style='width: 255px. } $result = mysql_query($sql_responsable). "\n". echo "</td>". text-align: center. echo "</td>". mysql_error() . if(!$result) { echo "<td style='width: 163px. echo "</td>". text-align: center. echo "</td>".'>". if(!$result) { echo "<td style='width: 163px. mysql_error() .</td></tr> \n". echo "</td>". text-align: left.</td></tr> \n". text-align: center. echo "</td>". echo "<font color=green>Correcto</font>\n". if(!$result) { echo "<td style='width: 163px.</td></tr> \n". text-align: center. echo "</td>". echo "<td style='width: 255px. text-align: left.'>". } else { echo "<td style='width: 163px.'>". echo "</td>".'>".'>&nbsp.'>". echo "</td>\n". text-align: center.'>&nbsp. echo "</td>\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.</td></tr> \n". echo "" . "\n". text-align: left.T.'>".

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

echo "</html> \n". $datos["dni"] = "3312". echo "<tbody> <tr> <td style='text-align: center. text-align: left.'></span></big></big></div> \n". echo " style='font-weight: bold. $resultado["descripcion"].'><big><span style='font-weight: bold. $datos["cp"] = "46120". echo "<font color=red>Error </font>\n".) 125 . echo "</td>".S. echo "<title>Ejemplos para la base de datos Webcole</title></head>". $datos = array("login" => "viblasan".upv.P.'> ". $datos["apellido2"] = "Sánchez".V. echo "<table style='text-align: left.</td></tr> \n". } // Carga varios usuarios en la base de datos function ejemplos ($link) { echo "<html><head>". text-align: center. } E. echo "Vuelve al inicio pulsando <a href='setup. echo "</body></html>".'>&nbsp. echo "</body> \n". echo "<font color=green>Correcto</font>\n". echo "</td>".'><big>Descripcion</big></td>".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". echo "</table> \n". echo "<big><big><span style='font-weight: bold.es". fontweight: bold. echo "</div> \n".'>Estado</span></big></td>".'>". echo "<td style='width: 255px. if(!$resultado["estado"]) { echo "<td style='width: 163px. width: 163px. echo "<font><b>Ejemplo Usuario-Profesor(viblasan) </b></font><br>\n". echo "<td style='text-align: center. $datos["telefono"] = "699161799". } //final de la pagina html function fin_html () { echo "<br>". echo "" . echo "</div> ". echo "</tr>".'></span></big></big>< big><big><span \n". $datos["direccion"] = "Maria Pastor". echo "<div style='text-align: center. echo "</td>\n". $datos["tutorias"] = "null". width: 255px.' border='1' cellpadding='2' cellspacing='2'>". $datos["email"] = "viblasan@ei. $datos["apellido1"] = "Blasco". echo "<td style='width: 255px. PROFESOR).php'>aqu&iacute. $datos["nombre"] = "viblasan". $resultado = insertar_usuario($datos. echo "</td>". width: 100%. text-align: center.T. width: 281px. text-align: center. $datos["poblacion"] = "alboraya". } else { echo "<td style='width: 163px. echo "<td style='text-align: center.'>".'>Error</span></big></td>". text-align: center. de Informática Aplicada (U.</a><br> ". "\n".'>".'>". $datos["password"] = "password". echo "<tr><td style='width: 281px.).'><big><span style='font-weight: bold.

} $datos = array("login" => "visebo").P. $resultado["descripcion"].'>".S.'>". echo "<td style='width: 255px.upv. echo "<tr><td style='width: 281px. echo "<font color=red>Error </font>\n". $datos["apellido1"] = "Apellido1Alumno1". $datos["password"] = "password". ALUMNO). echo "<font color=green>Correcto</font>\n". "\n". "\n". $datos["cp"] = "46456".es". } $datos = array("login" => "pater"). echo "<font><b>Ejemplo Usuario-Alumno(visebo) </b></font><br>\n". echo "</td>". text-align: center. $datos["password"] = "password". $datos["cp"] = "46123". Proyecto Final de Carrera echo "<tr><td style='width: 281px. $datos["dni"] = "3312". $datos["apellido2"] = "Apellido2Alumno1". echo "</td>". $datos["apellido1"] = "Sancho". $datos["apellido2"] = "Apellido2Padre1". text-align: center. $datos["tutorias"] = "null". text-align: left. echo "<td style='width: 255px. $datos["apellido2"] = "Guijarro".</td></tr> \n". $datos["nombre"] = "Vicente". echo "" . $datos["telefono"] = "63456777". $datos["email"] = "visangui@ei. text-align: center. text-align: center. echo "</td>". echo "" .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"). de Informática Aplicada (U. $resultado = insertar_usuario($datos. text-align: center. } else { echo "<td style='width: 163px. $datos["poblacion"] = "Valencia". echo "<font color=green>Correcto</font>\n".'>". text-align: center.'>". $datos["nombre"] = "Alumno1". text-align: center. $datos["direccion"] = "Colon". $datos["direccion"] = "Colon". } else { echo "<td style='width: 163px.) 126 . echo "<font color=red>Error </font>\n".T. $datos["telefono"] = "654161799".upv.'>". $datos["direccion"] = "Colon". $datos["tutorias"] = "null". echo "</td>". if(!$resultado["estado"]) { echo "<td style='width: 163px. $datos["email"] = "Alumno1@ei. $resultado = insertar_usuario($datos. echo "<font><b>Ejemplo Usuario-Profesor(visangui) </b></font><br>\n".</td></tr> \n". echo "</td>". echo "</td>".V. $datos["poblacion"] = "Valencia".'>&nbsp. if(!$resultado["estado"]) { echo "<td style='width: 163px. echo "</td>\n". echo "<td style='width: 255px. $datos["apellido1"] = "Apellido1Padre1". $resultado["descripcion"]. text-align: left.'>".'>".'>". $datos["nombre"] = "Padre1". $datos["dni"] = "3312". echo "</td>\n".es". PROFESOR). text-align: center. E. echo "<td style='width: 255px.'>&nbsp.

text-align: center. echo "<font color=green>Correcto</font>\n".'>&nbsp. $datos["apellido1"] = "Sancho". echo "<td style='width: 255px.'>". de Informática Aplicada (U. echo "<font><b>Ejemplo Usuario-ADMINISTRADOR(viblasan2) </b></font><br> \n".</td></tr> \n". $resultado["descripcion"]. } else { echo "<td style='width: 163px. text-align: center. $datos["poblacion"] = "alboraya". "\n". echo "<font color=green>Correcto</font>\n". echo "</td>". $datos["password"] = "password". echo "<td style='width: 255px. $datos["tutorias"] = "null". $datos["direccion"] = "Maria Pastor". $datos["dni"] = "3312". $datos["dni"] = "3312".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".P. echo "" . $resultado["descripcion"]. text-align: center. $datos["telefono"] = "63456777". echo "<td style='width: 255px. "apellido1"=>"Blasco". text-align: center. if(!$resultado["estado"]) { echo "<td style='width: 163px.es". echo "<td style='width: 255px.'>". echo "<font><b>Ejemplo Usuario-Padre(pater) </b></font><br>\n".es". echo "</td>\n".T. "apellido2"=>"Sánchez").V. PADRE). if(!$resultado["estado"]) { echo "<td style='width: 163px.'>". echo "<font color=red>Error </font>\n". $resultado = insertar_usuario($datos. $datos["password"] = "password". E.es". Proyecto Final de Carrera echo "<tr><td style='width: 281px. $datos["dni"] = "3312". $datos["apellido2"] = "Guijarro".) 127 . $datos["email"] = "viblasan@ei. $datos["nombre"] = "Vicente". text-align: left.</td></tr> \n". text-align: center. } $datos = array("login" => "visangui2"). $resultado = insertar_usuario($datos. $datos["email"] = "pater@ei. $datos["cp"] = "46456".'>". text-align: center. $datos["email"] = "visangui@ei. text-align: center. echo "</td>\n". $datos["cp"] = "46123". } else { echo "<td style='width: 163px. $datos["cp"] = "46120". ADMINISTRADOR). $datos["poblacion"] = "Valencia". $datos["password"] = "password". text-align: left.S.'>". echo "</td>". echo "</td>".'>&nbsp. "\n". $datos["telefono"] = "699161799".upv.'>". $datos["direccion"] = "Colon". text-align: center.upv. echo "</td>". echo "<font color=red>Error </font>\n". } $datos = array("login" => "viblasan2".'>". "nombre"=>"viblasan". echo "" . $datos["telefono"] = "654161799".upv. echo "</td>". echo "<tr><td style='width: 281px. echo "</td>".'>". $datos["tutorias"] = "null".

echo "</td>\n". $datos["email"] = "Alumno1@ei. $prueba[$i]["sql"] = "INSERT INTO `instalacion` (`idinstalacion`. echo "<font><b>Ejemplo Usuario-ALUMNO(visebo2) </b></font><br>\n". echo "" .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".pdf').</td></tr> \n". text-align: center. $datos["apellido2"] = "Apellido2Alumno2". text-align: center. echo "<font color=green>Correcto</font>\n". $datos["dni"] = "3312". text-align: center. 'Disponible'. `normas`) VALUES (1.'>". echo "<td style='width: 255px. $datos["poblacion"] = "Valencia". 'Radio-CD'. } else { echo "<td style='width: 163px. (2. echo "<tr><td style='width: 281px. `instalacion`.pdf'). $datos["cp"] = "46123". `estado`.V. text-align: left. if(!$resultado["estado"]) { echo "<td style='width: 163px. text-align: center. ADMINISTRADOR). echo "</td>".'>&nbsp.es". echo "</td>". Proyecto Final de Carrera $resultado = insertar_usuario($datos. $datos["direccion"] = "Colon".'>". $prueba[$i++]["descripcion"] = "Creando instalacion: gimnasio y pabellon cubierto". } $i = 0. } else { echo "<td style='width: 163px.'>&nbsp. text-align: left. echo "<font color=red>Error </font>\n". echo "<td style='width: 255px. echo "</td>". text-align: center. '/webcole/normas/Gimnasio.S. echo "</td>". echo "<font><b>Ejemplo Usuario-ADMINISTRADOR(visangui2) </b></font><br> \n". 'Disponible'.'>". (2. 'Pabellon Cubierto'.'>". '/webcole/normas/Radio_cd. echo "<font color=green>Correcto</font>\n". $datos["apellido1"] = "Apellido1Alumno2". $resultado = insertar_usuario($datos. $prueba[$i++]["descripcion"] = "Creando equipaciones: Radio-CD y Televisor".P. $datos["telefono"] = "63456777".upv. $datos["tutorias"] = "null". text-align: center. de Informática Aplicada (U. `equipacion`.pdf'). text-align: center. echo "</td>\n". ALUMNO). $resultado["descripcion"]. '/webcole/normas/Televisor. E. 'Gimnasio'. `normas`) VALUES (1.pdf'). echo "<td style='width: 255px. echo "<font color=red>Error </font>\n". "\n". if(!$resultado["estado"]) { echo "<td style='width: 163px. "\n". echo "<td style='width: 255px.". $datos["password"] = "password".'>".". echo "" . text-align: center.</td></tr> \n". echo "</td>". echo "<tr><td style='width: 281px.T. $datos["nombre"] = "Alumno2". $prueba[$i]["sql"] = "INSERT INTO `equipacion` (`idequipacion`. '/webcole/normas/Pabellon_cubierto. } $datos = array("login" => "visebo2").'>". echo "</td>". 'Televisor'.) 128 .'>". $resultado["descripcion"].'>".

'46502365'. '12345678'. 'Pérez'. E. $prueba[$i]["sql"] = "INSERT INTO `asignatura` (`codigoasignatura`. 'Festivo'. 'Festivo'. (5. (10. 'Gómez'. $prueba[$i++]["descripcion"] = "Eventos del colegio". 46550. `lugar`. 'Festivo'.es'. $prueba[$i]["sql"] = "INSERT INTO `usuario` (`login`. '2000-05-01 13:49:41'. 'Juan'. `telefono`) VALUES ('pepe'. 'esoj'.'). 'UPV'. '2007-06-17 19:31:05'. (7. '2000-12-08 19:35:45'. 'C/ Polideportivo.". 'Festivo'. 'Valencia'. 'Día de la Comunitat Valenciana'). $prueba[$i++]["descripcion"] = "Jefe Estudios ". (12. s/n'. 'Valencia'.T.'). `fecha`. 'España'. `poblacion`. 'Valencia'. '00000000'. 'Crespo'. (3. 'Noticia'. `apellido1`. $prueba[$i]["sql"] = "INSERT INTO `jefeestudio` (`login`) VALUES ( 'juan'). '96123457'). ('admin'. '46502365'. '87654321'. $prueba[$i++]["descripcion"] = "Secretario ". `contrasenya`. 'Festivo'. 'juan@emiliolluch. (4. 'pepe@emiliolluch. '2000-10-09 17:06:08'. '961652335'). (2.". 'Festivo'. '2000-10-12 19:31:05'. '1'. 46119. 'Cazorla'. 'A'). 'Pepito'. ('pepito'. 'admin@emiliolluch. 'Noticia'. 'epep'. 'adm'.". 'Menor. ('jose'. 'Inicio del curso académico 2007/2008'). '2007-05-06 13:31:54'. `descripcion`) VALUES (1. 'Administrador'. (6. `tutorias`) VALUES ('pepe'. 'Implementado el calendario escolar. $prueba[$i]["sql"] = " INSERT INTO `administrador` (`login`. 46002. ('jose'. 46005. '96158020'). $prueba[$i++]["descripcion"] = "Administrador ". ". 'Reparado el problema de las tildes en la web. '96300101'). ". 'Peris'.es'. 'España'. 'Mayor. 'Posibilidad de reservar. '12345678'. $prueba[$i]["sql"] = "INSERT INTO `profesor` (`login`. `dni`. $prueba[$i++]["descripcion"] = " Profesores ". 'Todos los santos'). ('juan'.". ('miguelito'. '2000-11-01 19:37:00'. ('juan'. `nombre`. 'ep'. 12'. 'jose@emiliolluch. 'Noticia'. de Informática Aplicada (U.V. 'Sánchez'. `curso`.es'). ('miguelito'. 'Viernes 9:00-12:00'). anular reservas de instalaciones y equipamientos(solo para profesores)') . '87654321'. 'jose@emiliolluch. 'Sánchez'. 'Festividad Virgen del Pilar'). 'juan@emiliolluch. 'Calle principal'. `apellido2`. `dni`. 'Valencia'. (8. 'Colegio'. '961680076').S. ". `dni`. '2007-06-11 13:32:53'. 'Pepe'. $prueba[$i++]["descripcion"] = " Alumno Miguelito y pepito ". 'España'.'). '961652020'). 'Presentada la primera maqueta de la web.es'). `email`. '2000-12-06 19:34:46'. '2007-09-10 18:12:19'. $prueba[$i++]["descripcion"] = " equipodirectivo ".es'). 'España'.13:30'). `email`) VALUES ('pepe'. 'José'. 'web'. 'Noticia'. `titulo`. $prueba[$i++]["descripcion"] = " Director ". ". 'San José'). 'nimda'. $prueba[$i++]["descripcion"] = "Varios Usuarios". 'mig'. 23'. 'Nàquera'. 'pepe@emiliolluch. 'Web'. ('juan'. 'Curso'.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`. '2000-03-19 19:33:47'. 'Día de la Constitución'). 'España'. 'Náquera'. `email`) VALUES ('admin'. $prueba[$i]["sql"] = "INSERT INTO `equipodirectivo` (`login`. 'C/ Mestral. ". 'Jueves 9:30 . 25'. 'Día del trabajador'). 23'. 46001. 'Valencia'. 'Festivo'. 'Martínez'. `letra`) VALUES ('pepito'. 'Inmaculada Concepción') . 'A'). 'C/ Menorca. 'adm'. 'UPV'. '1'.es'. `direccion`. ('jose'.es'). $prueba[$i]["sql"] = " INSERT INTO `director` (`login`) VALUES ('pepe'). (9. '2007-07-01 13:04:09'. 'nauj'. 'García'. 'Martínez'. $prueba[$i]["sql"] = "INSERT INTO `secretario` (`login`) VALUES ('jose') . `cp`. 'Martes 10:30-13:00'). 'Serra'.) 129 . $prueba[$i]["sql"] = "INSERT INTO `alumno` (`login`. 46119. 'Miguelito'.P. (11.

10).'>". ('1'. ('1'. echo "</td>". 'A'. ('1'. `delegado`.". '1'.'>".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`. '1'. ejecutar($prueba. 'Jueves 16'). echo "<tr><td style='width: 281px. $prueba[$i]["sql"] = "INSERT INTO `grupo` (`curso`. (3. "\n". } //// // Funcion que permite ejecutar cualquier sentencia sql. 'A'. echo "<td style='width: 255px. '1'. 9). (5. 'Lunes 11 Miércoles 16'). 'Miércoles 9 Jueves 11 Viernes 11'). 'A'. $link) { foreach ( $datos as $actual) { //echo "sql: " . text-align: center. text-align: center. $prueba[$i++]["descripcion"] = "Imparte = Viblasan". mysql_error() . 'Martes 15 Martes 16'). $link). `letra`. (2. 3).'>". echo "</td>". 2). `letra`. ('1'. 'Matemáticas'. \'viblasan\'). $prueba[$i++]["descripcion"] = "Asignaturas". $prueba[$i++]["descripcion"] = "Grupo". 'A'. 7). 'Conocimiento del medio'. 'Castellano'. echo " </tbody></table><br><br>". ('1'. `asignatura`) VALUES ('1'. '1'. \'viblasan\'). 8).'>". `tutor`) VALUES ('1'.`imparte` (`asignatura`. (\'2\'. $prueba[$i++]["descripcion"] = "Clases impartidas". text-align: left. 'A'. '1'. echo "<font color=green>Correcto</font>\n". (6. '1'. (4. 'A'.". 'juan'). } else { echo "<td style='width: 163px. (10. `aula`.S. de Informática Aplicada (U. 'juan'). 'pepito'. echo "" . 'Lunes 10 Miércoles 11 Viernes 9'). $prueba[$i]["sql"] = "INSERT INTO `webcole`. (8. 6). `tutor`) VALUES ('1'. 1). 'Lunes 15 Miércoles 10 Jueves 15'). 'Lunes 16 Viernes 15'). 'Martes 11 Miércoles 15 Jueves 9 Viernes 10'). ('1'. 'Inglés'. `curso`. 'pepito'. '</b></font><br>'.". `delegado`. 4). 'Ed. `aula`. (7. '1'. 'A'. `letra`. 'Ed. echo "<font color=red>Error </font>\n". Física'. 'Ed. (9. text-align: center. 'A'. // 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. 'Lunes 9 Martes 9 Jueves 10'). 'Tutoría'.'>&nbsp. $prueba[$i]["sql"] = "INSERT INTO `impartida` (`curso`. ('1'. $actual["descripcion"] . Plástica'. 'A'. 'Ética/Religión'. echo "</td>\n". echo "<td style='width: 255px. echo '<font><b>' . $prueba[$i]["sql"] = "INSERT INTO `grupo` (`curso`. 5). $prueba[$i++]["descripcion"] = "Grupo".V. 'A'. 'A'. 'B1'. if(!$result) { echo "<td style='width: 163px. 'Valencià'. '1'.P. 'Martes 10 Viernes 16'). ('1'. `profesor`) VALUES (\'1\'.) 130 .T.". 'A'. ('1'. Ciudadanía'.". $actual["sql"] .</td>< E. `horario`) VALUES (1. echo "</td>". '1'. 'B1'. '1'. $result = mysql_query($actual["sql"]). text-align: center. "<br>".

'>". echo "</td>".'>Estado</span></big></td>". de Informática Aplicada (U.'>". width: 255px.'><big><span style='font-weight: bold. $actual["sql"] .S. echo "<td style='text-align: center. echo "<td style='text-align: center.'>". width: 281px. text-align: center. $actual["descripcion"] . echo "</tr>". if(!$result) { echo "<td style='width: 163px. while ($row = mysql_fetch_row($result)) { echo "<tr><td>". width: 100%. width: 163px.T. '</b></font><br>'. echo "<font color=green>Correcto</font>\n". fontweight: bold. echo '<font><b>' . echo "<tbody> <tr> <td style='text-align: center. echo "</td>\n".) 131 . echo "<td style='width: 255px.'>". echo"</td></tr>\n". echo "" . } else { echo "<td style='width: 163px. echo "<table><tr><td>Resultados</td></tr>". } } } function crear_perfiles($link) { echo "<html><head>". echo "<font color=red>Error </font>\n". } echo "</table>". text-align: center.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". } } } Proyecto Final de Carrera //// // Funcion que permite ejecutar cualquier sentencia sql que devuelven resultados. echo "<table style='text-align: left. echo "</td></tr>". echo $row[0].' border='1' cellpadding='2' cellspacing='2'>". mysql_error() .V. // 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 "<td style='width: 255px.'>Error</span></big></td>". echo "<title>Creacion de perfiles para la base de datos Webcole</title> </head>".'><big><span style='font-weight: bold. text-align: center.P. text-align: center.'><big>Descripcion</big></td>".'>". //// // 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. $link) { foreach ( $datos as $actual) { //echo "sql: " . text-align: left. echo "</td>". $result = mysql_query($actual["sql"]). echo "<tr><td style='width: 281px. echo "</td>". "\n". "<br>". por ejemplo todos los profesores // accederan a la base de datos con el perfil de profesores y con los privilegios que eso supone E.

'. //// // Permisos especificos para cada perfil en cada tabla //// //// // Profesor //// $prueba[$i]["sql"] = 'GRANT SELECT. INSERT. UPDATE.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. UPDATE. UPDATE. UPDATE. `anuncio` TO \'padre\'@\'localhost\'. $prueba[$i++]["descripcion"] = "Creando el perfil padre". INSERT. $prueba[$i++]["descripcion"] = "Profesor: Permisos generales".) 132 .'. $prueba[$i]["sql"] = 'GRANT SELECT ON `webcole`. $prueba[$i]["sql"] = 'GRANT SELECT ON `webcole`.* 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. $prueba[$i++]["descripcion"] = "Creando el perfil profesor". $prueba[$i]["sql"] = 'GRANT SELECT. E.'.* 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. UPDATE. $prueba[$i++]["descripcion"] = "Creando el perfil Equipo Directivo".P. DELETE ON `webcole`. $prueba[$i++]["descripcion"] = "Padre: Permisos tabla anuncio ".'. $prueba[$i++]["descripcion"] = "Alumno: Permisos tabla anuncio ". $prueba[$i++]["descripcion"] = "Equipo Directivo: Permisos generales".'. //// // Permisos generales /// $prueba[$i]["sql"] = 'GRANT SELECT ON `webcole`.* 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.S. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla faltaasistencia ". $prueba[$i]["sql"] = 'GRANT SELECT. INSERT.'. $prueba[$i++]["descripcion"] = "Creando el perfil alumno". DELETE ON `webcole`. DELETE ON `webcole`.T. `faltaasistencia` TO \'profesor\'@\'localhost\'. `anuncio` TO \'alumno\'@\'localhost\'.'. $prueba[$i++]["descripcion"] = "Alumno: Permisos generales". `anuncio` TO \'equipodirectivo\'@\'localhost\'. $prueba[$i++]["descripcion"] = "Padre: Permisos generales".V. INSERT. $prueba[$i]["sql"] = 'CREATE USER \'alumno\'@\'localhost\' IDENTIFIED BY \'alumno\'. de Informática Aplicada (U. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla anuncio ". $prueba[$i]["sql"] = 'GRANT SELECT ON `webcole`.'. $prueba[$i]["sql"] = 'GRANT SELECT. $prueba[$i]["sql"] = 'CREATE USER \'padre\'@\'localhost\' IDENTIFIED BY \'padre\'. $prueba[$i++]["descripcion"] = "Equipo Directivo: Permisos tabla anuncio ".'. $prueba[$i]["sql"] = 'CREATE USER \'equipodirectivo\'@\'localhost\' IDENTIFIED BY \'equipodirectivo\'. `anuncio` TO \'profesor\'@\'localhost\'.'. DELETE ON `webcole`.* 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. INSERT.'. DELETE ON `webcole`.'. Proyecto Final de Carrera $prueba[$i]["sql"] = 'CREATE USER \'profesor\'@\'localhost\' IDENTIFIED BY \'profesor\'.'. $prueba[$i]["sql"] = 'GRANT SELECT.

width: 255px. $prueba[$i]["sql"] = 'GRANT SELECT. $link). $link). width: 281px. width: 100%.'. que puede variar durante el curso. echo "<td style='text-align: center. DELETE ON `webcole`. INSERT. DELETE ON `webcole`. DELETE ON `webcole`.'><big><span style='font-weight: bold. DELETE ON `webcole`.'. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla anuncio ". width: 163px. INSERT. INSERT.' border='1' E.P. $prueba[$i]["sql"] = 'DROP USER \'equipodirectivo\'@\'localhost\'. `nota` TO \'profesor\'@\'localhost\'.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. $prueba[$i]["sql"] = 'GRANT SELECT. $prueba[$i]["sql"] = 'GRANT SELECT.'. `anuncio` TO \'profesor\'@\'localhost\'. UPDATE. UPDATE. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla res_equi ". de Informática Aplicada (U. $prueba[$i]["sql"] = 'GRANT SELECT. DELETE ON `webcole`. echo "</tr>".S.'. $prueba[$i++]["descripcion"] = "Profesor: Permisos para cambiar el delegado del grupo ". $prueba[$i]["sql"] = 'DROP USER \'profesor\'@\'localhost\'. DELETE ON `webcole`. `res_ins` TO \'alumno\'@\'localhost\'.'>Estado</span></big></td>". echo " </tbody></table><br><br>". "<table style='text-align: left. echo "<tbody> <tr> <td style='text-align: center.'.'. echo " </tbody></table><br><br>". $prueba[$i++]["descripcion"] = "Alumno: Permisos tabla res_ins ". INSERT.'. `res_equi` TO \'profesor\'@\'localhost\'.'. $prueba[$i++]["descripcion"] = "Padre: Permisos tabla res_ins ". Ademas se deberia // de comprobar que el profesor que lo haga sea el tutor del grupo $prueba[$i]["sql"] = 'GRANT UPDATE (`delegado`) ON `webcole`. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla res_ins ". UPDATE. $prueba[$i]["sql"] = 'DROP USER \'alumno\'@\'localhost\'. INSERT. excepto el campo // delegado. echo "<title>Borrado de perfiles para la base de datos Webcole</title>< /head>". width: 100%. fontweight: bold.T. $i = 0. UPDATE.'><big>Descripcion</big></td>". INSERT. echo "<td style='text-align: center.' border='1' cellpadding='2' cellspacing='2'>". $prueba[$i]["sql"] = 'DROP USER \'padre\'@\'localhost\'.'.'. `res_ins` TO \'profesor\'@\'localhost\'. ejecutar ($prueba. $prueba[$i++]["descripcion"] = "Profesor: Permisos tabla nota ". $prueba[$i++]["descripcion"] = "Borrando el perfil padre". echo "<table style='text-align: left.) 133 .`grupo` TO \'profesor\'@\'localhost\'.V. UPDATE. } function { echo echo echo pruebas ($link) "<html><head>". // Un profesor no puede tocar los grupos creados. "<title>PRUEBAS</title></head>". UPDATE. $prueba[$i++]["descripcion"] = "Borrando el perfil alumno". $prueba[$i]["sql"] = 'GRANT SELECT. ejecutar ($prueba.'>Error</span></big></td>". } function borrar_perfiles($link) { echo "<html><head>". $prueba[$i++]["descripcion"] = "Borrando el perfil profesor". `res_ins` TO \'padre\'@\'localhost\'.'><big><span style='font-weight: bold.'. $prueba[$i++]["descripcion"] = "Borrando el perfil equipodirectivo".

DECLARE m VARCHAR(20).'><big><span style='font-weight: bold.".". delete from usuario where login = @padre. $prueba[$i++]["descripcion"] = "creando @mensaje". END IF.'. echo "<td style='text-align: center. $prueba[$i++]["descripcion"] = "Creando un procedimiento: prueba". OUT mensaje VARCHAR(100) ) BEGIN DECLARE dep INT. echo "<td style='text-align: center. */ $sql = "CREATE PROCEDURE borrar_padre (IN padre VARCHAR(20). delete from padre where login = @padre. END.P. END.'><big><span style='font-weight: bold. @mensaje).T. width: 255px. de Informática Aplicada (U. $prueba[$i]["sql"] = "set @mensaje='a'. set mensaje = "inicio". $prueba[$i++]["descripcion"] = "creando @padre". E.".V. ejecutar ($prueba. select count(*) into mensaje from usuario. $prueba[$i]["sql"] = "call borrar_padre(@pater. $prueba[$i++]["descripcion"] = "Borrando procedimiento: borrar_padre". $sql2 = "CREATE PROCEDURE prueba (inout mensaje INT ) BEGIN DECLARE dep INT. $prueba[$i++]["descripcion"] = "Creando un procedimiento: borrar_padre".S. fontweight: bold. $prueba[$i]["sql"] = $sql2. $prueba[$i]["sql"] = "set @padre='pater'. select count(*) into dep from responsable where padre = padre.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'>".'>Error</span></big></td>". width: 163px. $prueba[$i++]["descripcion"] = "Borrando procedimiento: prueba". $i = 0. ELSE set mensaje := concat('No se puedo borrar al padre'. $prueba[$i]["sql"] = $sql. @padre).". select count(*) into dep from responsable where padre = padre. ELSE set mensaje = "No se pudo borrar".".'>Estado</span></big></td>".) 134 . IF dep = 0 THEN set mensaje := 'antes'. set mensaje := concat('Padre borrado: '. OUT mensaje VARCHAR(100) ) BEGIN DECLARE dep INT. $prueba[$i]["sql"] = "drop procedure prueba. $link).".". $prueba[$i++]["descripcion"] = "Llamando al procedimiento: borrar_padre".'><big>Descripcion</big></td>". END IF. /* $sql = 'CREATE PROCEDURE borrar_padre (padre VARCHAR(20). $prueba[$i]["sql"] = "drop procedure borrar_padre. set m := 'alter'. @padre). echo "</tr>". width: 281px. END. IF dep = 0 THEN delete from padre where login = padre. echo "<tbody> <tr> <td style='text-align: center. set mensaje = "Padre eliminado".

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

echo "</body></html>".</a></big></big></big><br> ". color: rgb(255.V. 0. echo "</body></html>". '> ".P.T. echo "<big><big><big>Opci&oacute.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().) 136 . echo "<div style='text-align: center. ?> E. de Informática Aplicada (U.</big></big> </big><br> ". 0). exit.'> ". inicio_html(). Proyecto Final de Carrera default: echo "<div style='text-align: center. echo "<big><big><big>Vuelve al inicio pulsando <a href='setup.n desconociada. echo "</div> ". echo "</div> ". } } } leeropciones ().S. exit.php'>aqu&iacute.

= "Falta Poblacion <br>". //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'].". $apellido1 . `contrasenya`. $eq = false. if (empty($cp)){ $error = true.S. define('DIRECTOR'. "'. define('SECRETARIO'. '" .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'. "'. define('ALUMNO'. cambiar_a_bd_i($link). "'. `apellido2`.`usuario` (`login`. $direccion . define('ADMINISTRADOR'. if (empty($apellido2)){ $apellido2 = 'null'. if (empty($poblacion)){ $error = true. $faltandatos . $nombre . '" . } $direccion = $datos['direccion']. if (empty($login)){ $error = true.= "Falta Codigo Postal < br>".= "Falta Nombre <br>". $link = conexion_i(). "'.P. $password . de Informática Aplicada (U.= "Falta Password < br>". 3). '" . `telefono`) VALUES ('" . "'). if (empty($password)){ $error = true. $faltandatos .V. $cp . function insertar_usuario($datos. `apellido1`. $telefono .T. $faltandatos . $faltandatos . } $sql_usuario = "INSERT INTO `webcole`. $descripcion = ""."'. 7). '" . switch ($tipo) { case PROFESOR: //tipo profesor E. "'. require_once "conexion_i. $login .} $nombre = $datos['nombre']. 1). 2).} $apellido2 = $datos['apellido2']. if (empty($direccion)){ $error = true.php". } $apellido1 = $datos['apellido1'].) 137 . '" . 6). $poblacion .= "Falta Login <br>". if (empty($apellido1)){ $error = true. '" . 4).= "Falta Direccion <br>". 5). `nombre`. '" . "'. //datos generales del usuario $login = $datos['login'].} $poblacion = $datos['poblacion']. $apellido2 . "'. $faltandatos .= "Falta Apellido1 <br>". `poblacion`. `cp`. define('JEFEESTUDIO'. $tipo) { $error = false.} $telefono = $datos['telefono'].Vicente Sancho Guijarro Proyecto Final de Carrera Interfaz_db.} $password = $datos['password']. if (empty($nombre)){ $error = true. define('PADRE'. $faltandatos . if (empty($telefono)){ $telefono = 'null'. $faltandatos = "". `direccion`.

"'. } $sql_especifico = "INSERT INTO `webcole`.`administrador` (`login`. "'. $dni . '" .". $login .`padre` (`login`. $dni . "'). $faltandatos .". if (empty($email)){ $email = 'null'. $email . de Informática Aplicada (U.) 138 . `dni`. '" . "'.`director` (`login`) VALUES ( '" . $login . $login . "'. $faltandatos . if (empty($dni)){ $error = true. $eq = true. `email`) VALUES ('" . if (empty($email)){ $email = 'null'. case JEFEESTUDIO: $dni = $datos['dni'].`profesor` (`login`.P. if (empty($dni)){ $error = true.} $email = $datos['email']. '" .". '" . } $sql_especifico = "INSERT INTO `webcole`.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']. $tutorias . break. '" . } $sql_especifico = "INSERT INTO `webcole`. '" . case ALUMNO: //alumno $sql_especifico = "INSERT INTO `webcole`.= "Falta DNI <br> ". $faltandatos . `tutorias`) VALUES ('" . "'.} $email = $datos['email']. "'). "').= "Falta DNI <br> "."'). $faltandatos .". "'). `email`. break. '" .`equipodirectivo` (`login`. $email . case ADMINISTRADOR: $dni = $datos['dni'].". '" . "'. if (empty($email)){ $email = 'null'. } $tutorias = $datos['tutorias']. "'.T. "'. break. $login . "').V.S. break.= "Falta DNI <br> ". if (empty($email)){ $email = 'null'. '" . if (empty($dni)){ $error = true. `dni`. } $sql_especifico = "INSERT INTO `webcole`. break.= "Falta DNI <br> ". `email`) VALUES ('" . $sql_ed = "INSERT INTO `webcole`. "'. if (empty($tutorias)){ $tutorias = 'null'. $email . $login .". $dni . if (empty($dni)){ $error = true. $dni .} E.} $email = $datos['email']. `dni`. case PADRE: $dni = $datos['dni']. $email .= "Falta DNI <br> ". `email`) VALUES ('" .} $email = $datos['email'].`alumno` (`login`) VALUES ('" . case DIRECTOR: $dni = $datos['dni']. $login . `dni`. $faltandatos . if (empty($dni)){ $error = true.

if (!$result) { $descripcion . $email ."."). '" . } } //si no ha ocurrido ningun error finalizamos la transaccion if ($error == false) E. $faltandatos . $sql_especifico). $login .". } if ($eq == true) //este usuario pertenece al equipo directivo { $result = mysqli_query($link. "'. `email`) VALUES ('" . de Informática Aplicada (U. $sql_usuario). "'. if ( $error == true) { $descripcion = "Faltan datos importantes: <br>" . $result = mysqli_query($link. $descripcion . if (!$result) { $error = true. break. $sql_ed = "INSERT INTO `webcole`. break. `dni`. }//fin switch //Si ha ocurrido algun error no continuamos //por el momento solo false si ha ocurrido algun error en //en los datos mismos. `email`) VALUES ('" . $eq = true. $login . } $result = mysqli_query($link. if (empty($dni)){ $error = true. $dni .`equipodirectivo` (`login`. if (empty($email)){ $email = 'null'.P. } $sql_especifico = "INSERT INTO `webcole`. $faltandatos. '" .T.} $email = $datos['email']. "'.) 139 .= mysqli_error($link) . $dni .V. "'). '" . "'). $descripcion . $eq = true. if (empty($email)){ $email = 'null'. "SET AUTOCOMMIT=0. $sql_ed = "INSERT INTO `webcole`. "descripcion"=>$descripcion).`equipodirectivo` (`login`.= mysqli_error($link) . "'). $sql_ed). "'.S. `dni`. $result=mysqli_query($link. if (!$result) { $error = true. case SECRETARIO: $dni = $datos['dni'].= mysqli_error($link) . $resultado = array("estado"=>!$error. default: break. } $sql_especifico = "INSERT INTO `webcole`. $login .". $login . return $resultado."). " <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']. "<br>".`secretario` (`login`) VALUES ('" . " <br>". "').= "Falta DNI <br> ".". '" . } //empieza la transacci� de las inserciones $result=mysqli_query($link.`jefeestudio` (`login`) VALUES ('" . "BEGIN. $email .

Proyecto Final de Carrera } //si se ha producido algun error hacemos un rollback. $resultado = array("estado"=>!$error.S.").P.T."). else { $result = mysqli_query($link. "SET AUTOCOMMIT=1. } $result=mysqli_query($link.) 140 .").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. "descripcion"=>$descripcion). con lo que //la base de datos deber� de quedar sin rastros de las operaciones //que hemos intentado hacer. mysqli_commit($link). mysqli_close($link). de Informática Aplicada (U. return $resultado. TRUE). mysqli_autocommit($link."COMMIT. E.V."ROLLBACK.

'webcole'). die. $pass). $pass).S. die. $maquina.$pass) { $link_i = mysqli_connect($maquina. if(!$db) { echo "No se ha podido cambiar a la base de datos WebCole<br>". if(!$link_i) { echo "Error en la conexion con la bd <br>\n".P. } ?> E. die. $user. $user. } return $link_i.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".) 141 . } function cambiar_a_bd_i($link_i) { $db = mysqli_select_db($link_i. } return $db.V. $link_i = mysqli_connect($maquina. $pass = "webcole". de Informática Aplicada (U. } function conexion_i_login ($user. if(!$link_i) { echo "Error en la conexion con la bd <br>\n". } return $link_i. } function cerrar_db_i ($link) { mysqli_close($link).Vicente Sancho Guijarro Proyecto Final de Carrera Connexion_i.T. $maquina = "localhost".

$pass). $link). } function cerrar_db ($link) { mysql_close($link). die. $nombre){ $db = mysql_select_db($nombre. } return $link. de Informática Aplicada (U. if(!$db) { echo "No se ha podido cambiar a la base de datos " . $pass ) { $link = mysql_connect($maquina. if(!$link) { echo "Error en la conexion con la bd <br>\n".S. die. if(!$link) { echo "Error en la conexion con la bd <br>\n". } return $db.P.V. } return $db. die. } function conexion_login ($user. $link). $nombre . $maquina = "localhost". } return $link.T. $pass). "<br> ".) 142 . $user.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". } function cambiar_a_bd_concreta($link. $link = mysql_connect($maquina. if(!$db) { echo "No se ha podido cambiar a la base de datos WebCole<br>". $maquina.Vicente Sancho Guijarro Proyecto Final de Carrera Conexión. } ?> E. $pass = "webcole". $user. } function cambiar_a_bd($link){ $db = mysql_select_db('webcole'. die.

php">Historia</a></li> <li><a href="equipoDirectivo.) 143 .0 Strict//EN" "http://www. </p> <p>C.w3.</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.</td> </tr> <tr> <td class="fecha">&nbsp. org/TR/xhtml1/DTD/xhtml1-strict.php">Contactar</a></li> <li><a href="enlaces."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp.php">Equipo directivo</a></li> <li><a href="reglamento. Código PHP Index.dtd"> <html xmlns="http://www.cult.w3.T. P.P.fono 96 168 00 76<br /> e-mail: <a href="mailto:46005788@servicec.gva.php">Enlaces</a></li> </ul> </td> <td class="general"><p>Bienvenido al sitio web del Colegio P&uacute.quera (Valencia).es</a></p> </td> <td class="foto">&nbsp.php">Reglamento</a></li> <li><a href="calendario.</td> <td colspan="2" class="titulo">&nbsp.quera (Valencia) </p> <p>Tel&eacute.cult.Vicente Sancho Guijarro Proyecto Final de Carrera G.js"> </script> <link href="css/principal.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.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. blico Emilio Lluch de N&agrave.n</a></li> <li><a href="contactar.S.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.es"> 46005788@servicec. s/n.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().V.N&agrave. de Informática Aplicada (U.gva.php">Calendario escolar</a></li> <li><a href="localizacion.php").php">Localizaci&oacute.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. EMILIO LLUCH </p> <p>Calle Polideportivo./js/fecha. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="#">Inicio</a></li> <li><a href="historia. </p> <p>46119 .

S. 77 } 78 ?> 79 </p></td> 80 <td colspan="2" class="noticias"> 81 <h3>Noticias</h3> 82 <p> 83 <?php 84 noticias().P.) 144 .V. de Informática Aplicada (U.T.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>'. 85 ?> 86 </p> 87 </tr> 88 </table> 89 </body> 90 </html> E.

php">Calendario escolar</a></li> <li><a href="localizacion.a.w3.dtd"> <html xmlns="http://www.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.js"> </script> <link href="css/principal.Vicente Sancho Guijarro Proyecto Final de Carrera Historia.w3.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".V.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."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp.o xxxx se hizo una ampliaci&oacute.a.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.php">Enlaces</a></li> </ul> </td> <td class="general"><h1>Historia del centro</h1> <p>El centro fue inaugurado el a&ntilde.</td> <td colspan="2" class="titulo">&nbsp.php">Equipo directivo</a></li> <li><a href="reglamento.php"). como duchas o enfermer&iacute.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.</p> <p>El a&ntilde.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.) 145 . org/TR/xhtml1/DTD/xhtml1-strict.n</a></li> <li><a href="contactar.</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin. de Informática Aplicada (U.</p></td> <td colspan="2" class="noticias"> <h3>Noticias</h3> <?php noticias().o XXXX./js/fecha. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.n del gimnasio para mejorar las instalaciones con servicios de los cuales antes se carec&iacute.S.php">Reglamento</a></li> <li><a href="calendario.P.T.php">Contactar</a></li> <li><a href="enlaces.php">Inicio</a></li> <li><a href="#">Historia</a></li> <li><a href="equipoDirectivo.</td> </tr> <tr> <td class="fecha">&nbsp. </p></td> <td class="general">&nbsp. ?></td> </tr> </table> </body> </html> E.

T.</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./js/fecha. de Informática Aplicada (U.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.n</a></li> <li><a href="contactar.</td> </tr> <tr> <td class="fecha">&nbsp.0 Strict//EN" "http://www.php">Calendario escolar</a></li> <li><a href="localizacion.php">Contactar</a></li> <li><a href="enlaces.php">Reglamento</a></li> <li><a href="calendario.php">Historia</a></li> <li><a href="#">Equipo directivo</a></li> <li><a href="reglamento.V. ?> <p>&nbsp.S.dtd"> <html xmlns="http://www.php">Inicio</a></li> <li><a href="historia.</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp.js"> </script> <link href="css/principal.php">Localizaci&oacute. </p></td> <td class="general">&nbsp. org/TR/xhtml1/DTD/xhtml1-strict. ?> </td> </tr> </table> </body> </html> E.w3.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php")."><p style="font-weight: bold.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.php">Enlaces</a></li> </ul> </td> <td class="general" style="text-align: left .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 68 69 70 71 72 73 <?php require_once ("Anonimo_inc.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". font-size:30px">Equipo directivo</p> <?php equipo_directivo().Vicente Sancho Guijarro Proyecto Final de Carrera Equipodirectivo.</td> <td colspan="2" class="titulo">&nbsp.P. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.) 146 . charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.w3.

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

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.) 152 .P.</p></td> 85 <td colspan="2" class="noticias"><h3>Noticias</h3> 86 <?php 87 88 noticias().V. de Informática Aplicada (U.T. 89 ?></td> 90 </tr> 91 </table> 92 </body> 93 </html> E.S.

w3.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="index.js"> </script> <link href="css/principal.P.php">Equipo directivo</a></li> <li><a href="reglamento.</td> </tr> <tr> <td class="fecha">&nbsp.php">Localizaci&oacute.es">Conselleria d'Educaci&oacute.n del vago</a> </p>< /td> <td class="imagenEnlaces">&nbsp.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().n</a></p> <p><a href="www.com">El Rinc&oacute.gva.php">Historia</a></li> <li><a href="equipoDirectivo./js/fecha.mec.dtd"> <html xmlns="http://www.es">Ministerio de Educaci&oacute.cult.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."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp.naquera.php">Contactar</a></li> <li><a href="#">Enlaces</a></li> </ul> </td> <td class="general"><h1>Enlaces de inter&eacute.</p></td> <td colspan="2" class="noticias"><h3>Noticias</h3> <?php noticias().php").</a> </p> <p><a href="www. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.n</a></li> <li><a href="contactar. org/TR/xhtml1/DTD/xhtml1-strict.s </h1> <h3>Institucionales</h3> <p><a href="www.quera</a> </p> <h3>Recursos educativos </h3> <p><a href="www.</td> <td colspan="2" class="titulo">&nbsp. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.0 Strict//EN" "http://www. de Informática Aplicada (U.php">Inicio</a></li> <li><a href="historia.php">Reglamento</a></li> <li><a href="calendario.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.com">Ayuntamiento de N&agrave.T.S.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.rincondelvago.Vicente Sancho Guijarro Proyecto Final de Carrera Enlaces.) 153 . ?></td> </tr> </table> </body> </html> E.V.w3.php">Calendario escolar</a></li> <li><a href="localizacion.</td> </tr> <tr> <td><p>Autenticarse</p> <form id="form1" method="post" action="analizadorlogin.

org/TR/xhtml1/DTD/xhtml1-transitional.w3.tulo</title> </head> <body> <p>Acceso prohibido.Vicente Sancho Guijarro Proyecto Final de Carrera Prohibido.dtd"> <html xmlns="http://www.T.) 154 .0 Transitional//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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. charset=iso-8859-1" /> <title>Documento sin t&iacute. de Informática Aplicada (U.P.S.php">inicio</a> </body> </html> E.V. </p> Volver al <a href="/webcole/index. w3.

echo "<p><span class='fechaNoticia'>". font-size:22px'>Secretario: </p>".$conn).login = S. $je = consulta($sql. $sql="SELECT * FROM administrador". for($i=0. } function mandar_correo() { $conn=Conectar(). font-size:22px'>Jefe de Estudios: </p>".Vicente Sancho Guijarro Proyecto Final de Carrera Anonimo_inc."</a></p>"). echo tohtml("<p>". echo "<p style='font-weight: bold.V.$sec["apellido1"]. de Informática Aplicada (U.login AND D. secretario S. $director = consulta($sql. echo tohtml("<p>"."</p>").$je["nombre"]. if(isset($_POST["Mail"]) && $_POST["Mail"] != "") { E." ". "< /p>")."'>". echo tohtml("<p>Horario de atenci&oacute." ".$conn).login = E."</a></p>"). font-size:22px'>Director: </p>"."'>".login AND J. login = D.$sec["email"].T. echo "<hr />".$dir["nombre"]. $sec["horario"] .$je["apellido1"]. } desconectar($conn).login = E. equipodirectivo E WHERE U." ".$sec[ "email"]. echo tohtml("<p>". echo "<hr />".$conn).$je[ "email"]. $res=consulta($sql. echo tohtml("<p>E-mail: <a href='mailto:".$dir["email"].$conn).login". echo tohtml("<p>E-mail: <a href='mailto:".$sec[ "apellido2"]. jefeestudio J. echo tohtml("<p>Horario de atenci&oacute. // DIRECTOR $sql="SELECT * FROM usuario U. $je["horario"] . $sql="SELECT * FROM evento WHERE titulo = 'Noticia' ORDER BY idevento DESC".tohtml($row["descripcion"]).P. $res=siguiente($res). equipodirectivo E WHERE U.$conn).n: " .$dir[ "email"].$je[ "apellido2"]. $mailAdmin = $res["email"].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.sacarFecha($row["fecha"]).$sec["nombre"].n: " . echo "<p style='font-weight: bold.$je["email"]. $sec = siguiente($secretario)." ". function equipo_directivo() { $conn = Conectar().$dir["apellido1"]."</p>"). equipodirectivo E WHERE U.$dir[ "apellido2"]. $dir["horario"] . "< /p>"). $dir = siguiente($director)."</p>").login". //JEFE DE ESTUDIOS $sql="SELECT * FROM usuario U." < /span>"."'>"." "." ". } function noticias() { $conn=Conectar().php".S." </p>". $je = siguiente($je). //SECRETARIO $sql="SELECT * FROM usuario U.login = J.n: " .login". desconectar($conn).login AND S.$i++) { $row = siguiente($res). director D. $i<3 || $i<numeroFilas($res).) 155 . $res=consulta($sql. echo tohtml("<p>E-mail: <a href='mailto:". $secretario = consulta($sql. echo "<p style='font-weight: bold.login=E. echo tohtml("<p>Horario de atenci&oacute."</a></p>"). "</p> ").

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

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

} function Desconectar($link) { mysql_close($link)."webcole"))) { echo "Error conectando a la base de datos.$fecha[0].'à'.$hora[0]). $fecha_hora=split(" ".'-'. } //Devuelve solo la fecha de un datetime function sacarFecha($fecha_datetime) { $fecha = split("-".".'è'. $c) { $res = mysql_query($sql.'Á'. $fecha_convertida=$fecha_hora[0].".$fecha_datetime).'ó'. $fecha_convertida=$fecha_hora[0] . $fecha[1]. $c). { if (!($link=mysql_connect("localhost".$fecha[2]). $hora = split(":".$fecha_datetime). $hora = split(":".'Í'. $fecha_hora=split(" ".$link)) { echo "Error seleccionando la base de datos. $fecha_convertida=$fecha_hora[0] .$fecha[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 function Conectar() //realiza la conexion con la base de datos. exit().P.'É'. return $fecha_convertida.' '.T. } function sacarDiaMes($fecha_datetime) { $fecha = split("-". } return $link. } //Reemplaza en un texto las tildes y caracteres especiales por su equivalente en html function tohtml($texto) { $especial=array('á'. return $res. E.) 158 .':'. } if (!mysql_select_db("webcole".'Ú'.S. de Informática Aplicada (U.$hora[0]). $fecha_hora=split(" ". '-' .Vicente Sancho Guijarro Proyecto Final de Carrera Bd.'é'. } function numeroFilas($res) { return mysql_num_rows($res).':'. $hora = split(":".$fecha_datetime). $fecha[1] .'ñ'.V.$fecha[2]).'í'.'Ñ'. //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("-". exit().$hora[1]. '-' .$fecha[2])."cole1". } function consulta($sql. '-' . $fecha_hora[1]. return $fecha_convertida.$hora[2]. $fecha[0].'ú'. return $fecha_convertida. } function siguiente($res) { return mysql_fetch_assoc($res).$hora[0]).'-'.'Ó'.

'&ograve.'&Agrave.').'.'.'À'.'&eacute. '&Ograve.'. destruye la sesi&oacute.'.'È'.'.V.T.'. '&Ntilde. // Finalmente.'&agrave.'.'&Aacute.'&Iacute.P.n session_unset().'&Eacute.) 159 .'.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 'ò'. borrando los datos que hubiera en ella function cerrarSesion () { // Destruye todas las variables de la sesi&oacute.$texto).'. de Informática Aplicada (U. } //cierra la sesion del usuario.'&uacute.'.'.'.'.$traducir. return str_replace($especial.'&oacute.'. $traducir=array('&aacute.'.'&egrave.'.'&Egrave. } ?> E. '&ntilde.n session_destroy().'&iacute.'.'Ò').'&Oacute.'&Uacute.S.

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

0. break.V. break.$ultimo_dia + 1.$mes. break. return $numerodiasemana. case 8: $nombre_mes="Agosto". } //funcion que devuelve el último día de un mes y año dados function ultimoDia($mes. } return $ultimo_dia.T.$ano){ $mes_hoy=date("m").$dia. $ano_hoy=date("Y").Vicente Sancho Guijarro Proyecto Final de Carrera calendarioscript. de Informática Aplicada (U.$ano){ $ultimo_dia=28.$mes. } return $nombre_mes. 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 74 75 <?php include_once("bd.) 161 . case 5: $nombre_mes="Mayo".S. case 4: $nombre_mes="Abril". break. break. break. if (($mes_hoy <> $mes) || ($ano_hoy <> $ano)) { $hoy=0. break. } function dame_nombre_mes($mes){ switch ($mes){ case 1: $nombre_mes="Enero".P. mktime(0. if ($numerodiasemana == 0) $numerodiasemana = 6. break.php").$ano){ $numerodiasemana = date('w'.0. case 10: $nombre_mes="Octubre". case 3: $nombre_mes="Marzo". case 6: $nombre_mes="Junio". } else { E.$ano)). case 11: $nombre_mes="Noviembre". } function mostrar_calendario($dia. case 7: $nombre_mes="Julio". function calcula_numero_dia_semana($dia. case 12: $nombre_mes="Diciembre". case 9: $nombre_mes="Septiembre". else $numerodiasemana--. break.$ano)){ $ultimo_dia++. break.$mes. while (checkdate($mes. case 2: $nombre_mes="Febrero". break.

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

nuevo_ano=$ano'>$dia_actual</a></td>". } else { echo "<td class='fs'><a href='calendario. } } } $dia_actual++. de Informática Aplicada (U. php?dia=$dia_actual&amp.nuevo_mes=$mes&amp.sacarFecha($row["fecha"])). nuevo_ano=$ano'>$dia_actual</a></td>". php?dia=$dia_actual&amp.nuevo_mes=$mes&amp. } } $sql = "SELECT * FROM evento WHERE NOT titulo = 'Festivo' AND NOT titulo='Noticia'". $conn=Conectar(). nuevo_ano=$ano'>$dia_actual</a></td>". } } echo "</tr>". } } else { if ($dia_actual == $hoy) { echo "<td class='da'><a href='calendario. nuevo_ano=$ano'>$dia_actual</a></td>". if($dia_actual == $fecha[0] && $mes == $fecha[1] && ($fecha[2] == "2000" || $fecha[2] == $ano)) { echo "<td class='curso'><a href='calendario. php?dia=$dia_actual&amp.' class='laborable'><a href='calendario. php?dia=$dia_actual&amp.$conn). $res = consulta($sql.$conn). nuevo_ano=$ano'>$dia_actual</a></td>". break. } else { $escrito=0. while($row = siguiente($res)) { $fecha = split("-". nuevo_ano=$ano'>$dia_actual</a></td>".nuevo_mes=$mes&amp. php?dia=$dia_actual&amp. if($dia_actual == $fecha[0] && $mes == $fecha[1] && ($fecha[2] == "2000" || $fecha[2] == $ano)) { echo "<td class='fs'><a href='calendario. $escrito=1.V. php?dia=$dia_actual&amp. E.sacarFecha($row["fecha"])). if($escrito==0) { echo "<td style='text-align: center .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. } } Desconectar($conn). while($row = siguiente($res)) { $fecha = split("-".nuevo_mes=$mes&amp. } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class='da'><a href='calendario. $res = consulta($sql.S. $sql = "SELECT * FROM evento WHERE titulo = 'Festivo'".T.P. break. $escrito=1. nuevo_ano=$ano'>$dia_actual</a></td>".nuevo_mes=$mes&amp.nuevo_mes=$mes&amp.nuevo_mes=$mes&amp.) 163 . php?dia=$dia_actual&amp.

nuevo_mes=$mes&amp. 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. } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class='da'><a href='calendario.nuevo_mes=$mes&amp. while($row = siguiente($res)) { $fecha = split("-".$conn). php?dia=$dia_actual&amp.nuevo_mes=$mes&amp. nuevo_ano=$ano'>$dia_actual</a></td>". if($dia_actual == $fecha[0] && $mes == $fecha[1] && ($fecha[2] == "2000" || $fecha[2] == $ano)) { echo "<td class='curso'><a href='calendario.P. } } else { if ($dia_actual == $hoy) { echo "<td class='da'><a href='calendario. nuevo_ano=$ano'>$dia_actual</a></td>". php?dia=$dia_actual&amp.nuevo_mes=$mes&amp. while($row = siguiente($res)) { $fecha = split("-". de Informática Aplicada (U. php?dia=$dia_actual&amp. php?dia=$dia_actual&amp. } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class='da'><a href='calendario. $escrito=1.nuevo_mes=$mes&amp. $res = consulta($sql.) 164 . nuevo_ano=$ano'>$dia_actual</a></td>". php?dia=$dia_actual&amp. } else { $escrito=0. nuevo_ano=$ano'>$dia_actual</a></td>".sacarFecha($row["fecha"])). $conn=Conectar(). php?dia=$dia_actual&amp. nuevo_ano=$ano'>$dia_actual</a></td>". E. //si es el uñtimo de la semana. $sql = "SELECT * FROM evento WHERE titulo = 'Festivo'". nuevo_ano=$ano'>$dia_actual</a></td>".$conn).S. $escrito=1. if($dia_actual == $fecha[0] && $mes == $fecha[1] && ($fecha[2] == "2000" || $fecha[2] == $ano)) { echo "<td class='fs'><a href='calendario. } } $sql = "SELECT * FROM evento WHERE NOT titulo = 'Festivo' AND NOT titulo='Noticia'". $res = consulta($sql. break. nuevo_ano=$ano'>$dia_actual</a></td>".nuevo_mes=$mes&amp. while ($dia_actual <= $ultimo_dia){ //si estamos a principio de la semana escribo el <TR> if ($numero_dia == 0) echo "<tr>". } else { echo "<td class='fs' ><a href='calendario. php?dia=$dia_actual&amp.T.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.nuevo_mes=$mes&amp.sacarFecha($row["fecha"])).V.

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. } Proyecto Final de Carrera } Desconectar($conn).S.T.nuevo_mes=$mes&amp. } } //compruebo que celdas me faltan por escribir vacias de la última semana del mes for ($i=$numero_dia. echo "</tr>".V.) 165 . } echo "</tr>". if ($numero_dia == 7) { $numero_dia = 0. $numero_dia++. if($escrito==0) { echo "<td style='text-align: center .' class='laborable'><a href='calendario. php?dia=$dia_actual&amp. nuevo_ano=$ano'>$dia_actual</a></td>". de Informática Aplicada (U. E.$i++){ echo "<td></td>". } } } $dia_actual++.$i<7.P. echo "</table>".

$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]["instalacion"] = $ins["instalacion"]. } else { $tabla[$i]["idinst"] = -1.) 166 . de Informática Aplicada (U. $link).V. $sql_ins = "SELECT * FROM instalacion WHERE idinstalacion = '" . function listado_reservas_instalaciones() { $link = Conectar(). $res_ins = consulta ($sql_ins. $fila["idinstalacion"] . //ejecutamos la consulta E. "INSTALACION"). $sql = "SELECT * FROM res_ins WHERE login = '" . //Devuelve una tabla con las reservas de instalaciones que //ha efectuado el usuario. define (EQUIP. define (INST. $sql = "SELECT * FROM instalacion". "EQUIPACION"). $_SESSION["id"] . $ins = siguiente($res_ins).S. define (ALUM. } //devuelve una tabla con el id de las instalaciones. if ($ins) { $tabla[$i]["idinst"] = $ins["idinstalacion"]. 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.P. //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]["instalacion"] = "Instalacion desconocida". $tabla[$i++]["normas"] = "Normas no encontradas". //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. $tabla = null. while ($fila = siguiente($resultado)) { $tabla[$i]["fecha"] = $fila["fecha"]. apunta al fichero // que las tiene) function listado_instalacion() { $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 74 75 <?php require_once "bd. return $tabla.T. $tabla[$i++]["normas"] = $ins["normas"]. $tabla[$i]["proposito"] = $fila["proposito"]. } } Desconectar ($link). //ejecutamos la consulta $resultado = consulta ($sql. "'". //$tabla[$i]["fecha"] = $fila["fecha"].php".Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_inc. "Alumno").

$tabla[$i++]["normas"] = $fila["normas"]. $fecha). fecha(dia. $seg.$mes. } $result = consulta ($sql. } $link = Conectar(). $tabla[$i++]["anyo"] = $trozo[2].) 167 . $link). anyo) y hora(hora. while ($fila = siguiente($resultado)) { $tabla[$i]["idinstalacion"] = $fila["idinstalacion"]. ":" . } Desconectar ($link). ": " .P.$dia.$anyo. mes. $tabla[$i]["mes"] = $trozo[1]. $trozo = explode ("-". while ($fila = siguiente($result)) { $fecha = sacarFecha($fila["fecha"]).$iditem.`idinstalacion`=$iditem" . "-" . if ($item == INST) { $sql = "SELECT fecha FROM `res_ins` WHERE `res_ins`. " " . de Informática Aplicada (U. $item) { $fecha = $anyo . $tabla[$i]["instalacion"] = $fila["instalacion"]. $tabla. "\n<br>".T. } Desconectar ($link). $seg. $hora . 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. $fecha . Proyecto Final de Carrera //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0.$hora. E.$min. } //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.V. min. "-" .`idequipacion`=$iditem" . $tabla[$i]["dia"] = $trozo[0].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. } else { $sql = "SELECT fecha FROM `res_equi` WHERE `res_equi`. $mes . //echo " fecha: " . $link). } //Permite hacer una reserva //Recibe como parametros //Login del usuario. $min . $dia . return $tabla.$motivo. $item) { if ( !isset($iditem) || $iditem == -1) { return.S. return $tabla.

`fecha`. if($result) { $filas = mysql_affected_rows(). `idinstalacion`.a sido eliminada". echo "error: " . } else { $sql = "DELETE FROM `res_equi` WHERE CONVERT(`res_equi`.".`login` USING utf8)='$login' AND `res_ins`.`res_ins` (`login`. /*$sql = "INSERT INTO `webcole`.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". $correcto =false. if ( $filas == 0 ) { //echo "La reserva ya hab&iacute. `fecha`. de Informática Aplicada (U.`login` USING utf8)='$login' AND `res_equi`. '$fecha'. '$motivo'). \'$motivo\'). $fecha. '$iditem'.". '$fecha'. `fecha`. \'$idins\'.V. */ if ($item == INST) { $sql = "INSERT INTO `webcole`. Proyecto Final de Carrera return $result.`fecha`='$fecha' ". `proposito`) VALUES ('$login'.`idinstalacion`=$iditem AND `res_ins`.`res_equi` (`login`.T. if ($item == INST) { $sql = "DELETE FROM `res_ins` WHERE CONVERT(`res_ins`. $link).) 168 . } $result = consulta ($sql. `proposito`) VALUES ('$login'. } //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. `idinstalacion`. } $result = consulta ($sql. $correcto =false. '$iditem'. $iditem.`fecha`='$fecha' ". } else { $sql = "INSERT INTO `webcole`. $link). $link = Conectar().`res_ins` (`login`. $item) { $link = Conectar(). } else E.".S. `idequipacion`. \'$fecha\'.P. '$motivo'). mysql_error($link).`idequipacion`=$iditem AND `res_equi`. `proposito`) VALUES (\'$login\'.

S."</td>". $resultado = consulta($sql. else { echo "<table width='100%' border='1'>". $correcto =false. return $correcto.$fecha[0].$_SESSION[ "id"]. $dp).$row["asignatura"]. echo "<tr>". } Desconectar ($link).'"'. "</p>\n".$fecha[2].".V."</th>"."' ORDER BY fecha". echo "</tr>". while($row = siguiente($res)) { $fecha=split("-". $asignatura = consulta($sql. Proyecto Final de Carrera //echo"<p>Operacion NO efectuada</p>\n"." </span>". $sql = "SELECT * FROM faltaasistencia WHERE alumno = '".P. $faltas = consulta($sql.$i++) echo "<p><span class='fechaNoticia'>". echo "<th scope='col'>Justificada</th>".$conn)." </p> ". $sql = 'SELECT * FROM usuario WHERE login ="' .</td>".sacarFecha($row[ "fecha"]). echo "<tr>". //echo"SQL: $sql". $row['nombre']. echo "<th scope='col'>Asignatura</th>". $i<3 && $i<numeroFilas($res).sacarFecha($row["fecha"])).) 169 . while($row = siguiente($resultado)) echo 'Bienvenido ' .$conn). mysql_error($link) . //echo"<p>Error: " . } function rellenar_eventos_curso() { $conn = Conectar(). $fechaComparar = "". echo "</tr>". if($row["justificada"] == 0) echo "<td>NO</td>". de Informática Aplicada (U. } } else { ha sido eliminada". desconectar($dp). $res=consulta($sql.sacarFecha($row["fecha"]).$conn). } function bienvenido() { $dp = Conectar(). $asignatura = siguiente($asignatura). else echo "<td>S&Iacute. echo "<th scope='row'>".tohtml($row["descripcion"]). E. if(numeroFilas($faltas) == 0) echo "El alumno no tiene ninguna falta de asistencia.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.T."'". echo "<th scope='col'>Fecha</th>".$fecha[1].tohtml($asignatura["nombre"]). while($row = siguiente($faltas)) { $sql = "SELECT nombre FROM asignatura WHERE codigoasignatura = '". $sql="SELECT * FROM evento WHERE titulo = 'Curso' ORDER BY fecha". } desconectar($conn). $_SESSION[ "id"] . if($fechaComparar >= date("Ymd")) for($i=0. } function rellenar_tabla_faltas() { $conn = Conectar(). echo "<td>".

".$row["telefono"].curso = '". grupo G WHERE U.$res["letra"] . echo "<p>Letra: ". $res = siguiente($res)." ".".date("Y"). "</p>"." ".login AND A.T.1."</td>".$res["letra"]."</td>"."' ORDER BY apellido1.$res["aula"] ."."</p>". $a = consulta($sql1.tohtml($row["apellido1"]."</p>".login = A. $conn). $row = siguiente($row). echo "<p>Tutor: ".curso = G." . } function rellenar_tabla_alumnos() { $conn = Conectar(). $row = siguiente($row).login = G.V. ". $sql = "SELECT * FROM usuario U. $res = consulta($sql. } Proyecto Final de Carrera function poner_datos_grupo() { $conn = Conectar(). $conn).$conn). ".letra". alumno A. delegado".tohtml($row["apellido1"].$_SESSION["id"].tohtml($row["poblacion"]). } else { $anyo_pos = date("Y") + 1. while($row = siguiente($alumnos)) { echo "<tr>"." ."</td>".tohtml($row["apellido1"]. $alumnos = consulta($sql.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>".tutor".".$row["nombre"]). "</p>".letra = '". echo "<p>Curso: ".$row[ "apellido2"].P. // Delegado $sql = "SELECT * FROM usuario U.login AND A. desconectar($conn).$row["nombre"]). $row = consulta($sql.$res["curso"]. echo "<p>Aula: ".login = G. grupo G WHERE U. echo "<td>". echo "<td>".curso AND A." ". apellido2". $_SESSION[ "id"] . } } desconectar($conn). de Informática Aplicada (U.) 170 .letra = G."'".$conn).tohtml($row["direccion"]). } desconectar($conn).$anyo_pos.$row["apellido2"].login = '"."' AND U.S. echo "Curso: ". alumno A WHERE U. echo "<td>". $sql1 = "SELECT * FROM alumno where login='" .$anyo_ant.$res["curso"] . if ($res) { $sql = "SELECT * FROM usuario U.$row["nombre"]). echo "</tr>". echo "<p>Delegado: ". grupo G WHERE U. $res = siguiente($a). } function curso_actual() { if(date("m")<9) { $anyo_ant = date("Y") . $conn).login = A. } } E."</td>". echo "Curso: ". $row = consulta($sql. ".date("Y")."."' AND A. // Tutor $sql = "SELECT * FROM usuario U.$row["apellido2"]. "</p>". echo "<td>".

tohtml($row["nombre"])."</td>". imparte IM.$row["asignatura"].asignatura = A. } function rellenar_tabla_profesores() { $conn = Conectar().login = '" ."' AND A.codigoasignatura = IM.$row["nota"].$_SESSION["id"] .</td>". else $sql = "SELECT * FROM nota WHERE alumno = '".$row["nota"].) 171 . trimestre".login ORDER BY nombre". letra = '". $sql = "SELECT * FROM usuario WHERE login = '".profesor = P.$conn).$conn).</td>". } } desconectar($conn). de Informática Aplicada (U.$conn). echo "<td>&nbsp."' AND curso LIKE '%".curso AND A."%' ORDER BY asignatura.$conn)."</td>"."' AND curso LIKE '". profesor P WHERE I. } if($row["trimestre"] == 3) { $ultimo_trimestre = 3.$grupo["curso"]. echo "</tr>"."' AND I. if($mes<9) $sql = "SELECT * FROM nota WHERE alumno = '".date("Y"). trimestre".T.P. echo "<td>". echo "<tr>". echo "</tr>".S. $sql = "SELECT * FROM impartida I."'". $asignatura = consulta($sql. echo "<td>"."< /th>".$row["nota"]. $notas = consulta($sql. } $sql = "SELECT nombre FROM asignatura WHERE codigoasignatura = '". echo "<td>".letra = G.V. echo "<td>". letra ". $_SESSION["id"]."' ORDER BY asignatura.</td>".curso = G. //Obtenemos el grupo $grupo = consulta($sql.$row[ "login"]. $ultimo_trimestre = 1. while($row = siguiente($notas)) { if($row["trimestre"] == 1) { if($ultimo_trimestre == 1) { echo "<td>&nbsp. $res = consulta($sql."</td>". codigoasignatura AND A. $grupo = siguiente($grupo). echo "</tr>".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().tohtml($asignatura["nombre"]).curso = '".$_SESSION["id"] . grupo G WHERE A."'".asignatura AND IM. $asignatura = siguiente($asignatura).$grupo["letra"]. echo "sql vale: $sql<br>\n".date("Y"). $sql = "SELECT * FROM alumno A. $mes = date("m"). E."</td>". } if($ultimo_trimestre == 2) { echo "<td>&nbsp. $ultimo_trimestre = 0. asignatura A. } if($row["trimestre"] == 2) { $ultimo_trimestre = 2. while($row=siguiente($res)) { echo "<tr>"."' AND I. echo "<th scope='row'>".

if($anuncios_mostrados>=3) echo "<td></td>". $profe = siguiente($profe).tohtml($profe["apellido1"].tohtml($row["titulo"] ). $dp). } function poner_anuncios_tablon() { $conn = Conectar()."</a></td>". $sql = "SELECT * FROM anuncio ORDER BY idanuncio DESC". echo "<span class='anuncioNombre'>"."'>". echo "<tr>"." ".tohtml($usuario["nombre"]). tohtml($row["email"]). echo tohtml($row['apellido1'] .tohtml( $usuario["apellido1"]). $anuncios = consulta($sql.$profe[ "apellido2"]. } ?> E.". } desconectar($conn).V. while($row = siguiente($anuncios)) { if($anuncios_mostrados >= $anuncios_amostrar) break.P. echo "</tr>". //echo "</tr>". } function nombre_conectado() { $dp = Conectar().'"'.$profe["nombre"])." ".S.tohtml($row["tutorias"]). echo "<td>". " " . echo "<td class='general'>&nbsp. //echo "<td colspan='2' class='general'>&nbsp. echo "<td class='general'><p class='anuncioTitulo'>".$conn). $usuario = consulta($sql. echo "</tr>". " .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'] .tohtml($row["texto"]).</td>". $row['nombre']). $sql = "SELECT * FROM usuario WHERE login = '". $anuncios_mostrados = 0. echo "<td class='general'>&nbsp. //echo "<tr>".$row["login"]." </p><br/>"."</span></p></td>". $conn). echo "<td>". ".$row[ "fecha"]. echo "<tr>"."</span> </td>".</td>"."</td>".T. $anuncios_amostrar = 10.$conn). $anuncios_mostrados++. $usuario = siguiente($usuario)."</span> <span class='anuncioFecha'>. $sql = 'SELECT * FROM usuario WHERE login ="' . $_SESSION[ "id"] .</td>"."</td>". ".". } desconectar($conn). echo "<td class='general'><p class='anuncio'><span class='anuncioTexto'> ". $row = siguiente($resultado). echo "</tr>".tohtml($row["email"]). desconectar($dp).) 172 ."'". de Informática Aplicada (U. echo "<td><a href='mailto:". $resultado = consulta($sql.

php">Faltas asistencia </a></li> <li><a href="Alumno_menu.php">Tabl&oacute. ?> </p> </td> <td class="general">&nbsp.w3.</h3> <h3>Eventos del curso </h3> <?php rellenar_eventos_curso().P. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html./js/fecha.V."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. require_once ("Alumno_inc.dtd"> <html xmlns="http://www.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="#">Inicio</a></li> <li><a href="Alumno_horario.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".0 Strict//EN" "http://www.</td> </tr> <tr> <td> <p> <?php bienvenido(). org/TR/xhtml1/DTD/xhtml1-strict.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp. ?> </p> </td> <td colspan="2" class="noticias"><h3>&nbsp.php").</td> </tr> <tr> <td class="fecha">&nbsp.Vicente Sancho Guijarro Proyecto Final de Carrera intranetAlumno." class="logo">&nbsp.php"). de Informática Aplicada (U.php">Men&uacute.php">Horario</a></li> <li><a href="Alumno_alumnos. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.php">Instalaciones</a></li> <li><a href="Alumno_tablon.w3. semanal </a></li> <li><a href="Alumno_instalaciones.php">Notas</a></li> <li><a href="Alumno_faltas.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().T.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Intranet alumno </h1> <p> <?php nombre_conectado().css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php">Listado profesores </a></li> <li><a href="Alumno_notas.) 173 . charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. </p></td> </tr> </table> </body> </html> E.</td> <td colspan="2" class="titulo">&nbsp.js"> </script> <link href="css/principal. ?> <p>&nbsp.S.

semanal </a></li> <li><a href="Alumno_instalaciones. $alumno = consulta($sql./js/fecha.php">Notas</a></li> <li><a href="Alumno_faltas."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td class="logo">&nbsp. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.css" rel="stylesheet" type="text/css" /> <link href="css/Alumno_horario.$conn). ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.w3. de Informática Aplicada (U. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno. require_once ("Alumno_inc.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). asignatura A WHERE I.w3."' AND A.php").V.0 Strict//EN" "http://www. org/TR/xhtml1/DTD/xhtml1-strict.php">Men&uacute.php">Instalaciones</a></li> <li><a href="Alumno_tablon. ?> <table class="tabla" width="100%" border="1"> <tr> <th scope="col">&nbsp.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_horario.asignatura".n de anuncios </a></li> </ul> </td> <td class="general"><h1>Horario</h1> <?php $conn = Conectar().php">Listado profesores </a></li> <li><a href="Alumno_notas.</td> </tr> <tr> <td class="fecha">&nbsp. $conn). $alumno["curso"]. codigoasignatura = I.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 68 69 70 71 72 73 74 75 <?php session_start(). $sql = "SELECT * FROM alumno WHERE login = '".letra = '".php">Listado alumnos </a></li> <li><a href="Alumno_profes.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 $asignaturas = consulta($sql.curso = '".php">Horario</a></li> <li><a href="Alumno_alumnos. $alumno = siguiente($alumno)."'". $sql = "SELECT * FROM impartida I.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.php">Inicio</a></li> <li><a href="Alumno_horario.</td> <td colspan="2" class="titulo">&nbsp.js"> </script> <link href="css/principal.T.$_SESSION["id"].</th> <th scope="col">Lunes</th> <th scope="col">Martes</th> <th scope="col">Mi&eacute."' AND I.$alumno["letra"].) 174 .S.php").php">Tabl&oacute.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".dtd"> <html xmlns="http://www. while($row = siguiente($asignaturas)) E.P.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.

$row['horario']). for($i = 0. for($i = 0. $row['horario']). <?php $asignaturas = consulta($sql.P. for($i = 0. $i < count($horario). $i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "9") { echo tohtml($row['nombre']). } } } ?> </td> <td>&nbsp. } } } ?> </td> <td>&nbsp.T. break. $i < count($horario). $i+=2) { if($horario[$i] == 'Martes') if($horario[$i+1] == "9") { echo tohtml($row['nombre']). while($row = siguiente($asignaturas)) { $horario = split(" ". break. break. $i < count($horario).$conn). de Informática Aplicada (U. $i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "9") { echo tohtml($row['nombre']). } } } ?> </td> <td>&nbsp. $i+=2) { if($horario[$i] == 'Viernes') E.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(" ". <?php $asignaturas = consulta($sql.$conn). $row['horario']). $i < count($horario).$conn). while($row = siguiente($asignaturas)) { $horario = split(" ".V. $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "9") { echo tohtml($row['nombre']). for($i = 0. for($i = 0.) 175 . $row['horario']). <?php $asignaturas = consulta($sql. while($row = siguiente($asignaturas)) { $horario = split(" ". while($row = siguiente($asignaturas)) { $horario = split(" ".S. break. } } } ?> </td> <td>&nbsp. $row['horario']).$conn). <?php $asignaturas = consulta($sql. $i < count($horario).

$row['horario']). <?php $asignaturas = consulta($sql.T. <?php $asignaturas = consulta($sql. } } } ?> </td> <td>&nbsp. for($i = 0. $row['horario']). $row['horario']). break. de Informática Aplicada (U.P. break. } } } ?> </td> <td>&nbsp. for($i = 0. while($row = siguiente($asignaturas)) { $horario = split(" ". $i < count($horario).$conn). } } } ?> </td> <td>&nbsp. } } } ?> </td> </tr> <tr> <th scope="row">10:00-11:00</th> <td>&nbsp.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']).$conn). $i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "10") E. $i < count($horario).V. break. while($row = siguiente($asignaturas)) { $horario = split(" ". $i < count($horario). break. while($row = siguiente($asignaturas)) { $horario = split(" ". $i < count($horario). for($i = 0. $row['horario']). while($row = siguiente($asignaturas)) { $horario = split(" ".) 176 .$conn).S. $i+=2) { if($horario[$i] == 'Martes') if($horario[$i+1] == "10") { echo tohtml($row['nombre']). <?php $asignaturas = consulta($sql. <?php $asignaturas = consulta($sql. $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "10") { echo tohtml($row['nombre']). $i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "10") { echo tohtml($row['nombre']). for($i = 0.$conn).

de Informática Aplicada (U. break. for($i = 0. $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "11") { echo tohtml($row['nombre']). while($row = siguiente($asignaturas)) { $horario = split(" ". <?php $asignaturas = consulta($sql. } } } ?> </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. break.V.P.) 177 . } } } ?> </td> <td>&nbsp. $row['horario']).$conn). } } } ?> </td> <td>&nbsp. <?php </td> E. while($row = siguiente($asignaturas)) { $horario = split(" ".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']). <?php $asignaturas = consulta($sql. $i < count($horario). break. for($i = 0.T. while($row = siguiente($asignaturas)) { $horario = split(" ".S. for($i = 0. break. $i < count($horario). $i < count($horario).$conn).$conn). $row['horario']). $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. $row['horario']). } } } ?> <td>&nbsp.

break. } } } ?> </td> <td>&nbsp. $row['horario']). break. $i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "11") { echo tohtml($row['nombre']).V.$conn). E. while($row = siguiente($asignaturas)) { $horario = split(" ".P.T. <?php $asignaturas = consulta($sql. <?php $asignaturas = consulta($sql. for($i = 0. for($i = 0. $i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "11") { echo tohtml($row['nombre']). break. while($row = siguiente($asignaturas)) { $horario = split(" ". $i+=2) { if($horario[$i] == 'Viernes') if($horario[$i+1] == "11") { echo tohtml($row['nombre']).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.$conn). $row['horario']). } } } ?> </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. $row['horario']). for($i = 0. $i < count($horario).S. $i < count($horario). $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "15") { echo tohtml($row['nombre']). while($row = siguiente($asignaturas)) { $horario = split(" ". <?php $asignaturas = consulta($sql. } } } ?> </td> <td>&nbsp. while($row = siguiente($asignaturas)) { $horario = split(" ".$conn). de Informática Aplicada (U. $i < count($horario).) 178 . for($i = 0.$conn). $i < count($horario). $row['horario']).

break. <?php $asignaturas = consulta($sql. for($i = 0.P. $i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "15") { echo tohtml($row['nombre']). while($row = siguiente($asignaturas)) { $horario = split(" ". $i+=2) { if($horario[$i] == 'Martes') if($horario[$i+1] == "15") { echo tohtml($row['nombre']). } } E. $row['horario']). } } Proyecto Final de Carrera } ?> </td> <td>&nbsp. break. $i < count($horario).$conn). break. } } } ?> </td> <td>&nbsp. de Informática Aplicada (U. $i < count($horario). $i < count($horario).V. $i < count($horario).) 179 . $i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "15") { echo tohtml($row['nombre']). while($row = siguiente($asignaturas)) { $horario = split(" ".S. while($row = siguiente($asignaturas)) { $horario = split(" ". $i+=2) { if($horario[$i] == 'Viernes') if($horario[$i+1] == "15") { echo tohtml($row['nombre']). $row['horario']). } } } ?> </td> <td>&nbsp. for($i = 0. $row['horario']). for($i = 0. <?php $asignaturas = consulta($sql.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.$conn). for($i = 0. <?php $asignaturas = consulta($sql. } } } ?> </td> <td>&nbsp. $row['horario']). while($row = siguiente($asignaturas)) { $horario = split(" ". <?php $asignaturas = consulta($sql.$conn).T.$conn). break.

S. de Informática Aplicada (U. } } } ?> </td> <td>&nbsp. break. break. for($i = 0. <?php $asignaturas = consulta($sql. while($row = siguiente($asignaturas)) { $horario = split(" ". while($row = siguiente($asignaturas)) { $horario = split(" ". $i < count($horario).V. <?php $asignaturas = consulta($sql. $i+=2) { if($horario[$i] == 'Martes') if($horario[$i+1] == "16") { echo tohtml($row['nombre']). break. while($row = siguiente($asignaturas)) { $horario = split(" ". } } } ?> </td> <td>&nbsp.) 180 . while($row = siguiente($asignaturas)) { $horario = split(" ". break. $i+=2) { if($horario[$i] == 'Lunes') if($horario[$i+1] == "16") { echo tohtml($row['nombre']). <?php $asignaturas = consulta($sql.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.$conn). $row['horario']). } } } E.$conn). <?php $asignaturas = consulta($sql. $row['horario']). $row['horario']).T. } } } ?></td> <td>&nbsp. $i+=2) { if($horario[$i] == 'Jueves') if($horario[$i+1] == "16") { echo tohtml($row['nombre']). $i < count($horario). $i < count($horario).$conn). $row['horario']). for($i = 0. for($i = 0. $i+=2) { if($horario[$i] == 'Miércoles') if($horario[$i+1] == "16") { echo tohtml($row['nombre']). for($i = 0.P. $i < count($horario).$conn).

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

?> <table width="100%" border="1"> <tr> <th scope="col">Nombre</th> <th scope="col">Direcci&oacute. de Informática Aplicada (U.P.php">Horario</a></li> <li><a href="Alumno_alumnos. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.w3.php">Inicio</a></li> <li><a href="Alumno_horario.dtd"> <html xmlns="http://www.php">Tabl&oacute.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.0 Strict//EN" "http://www. ?> <br><a href="cerrar_sesion_Alumno.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.php">Listado alumnos </a></li> <li><a href="Alumno_profes.</p></td> <td class="general">&nbsp.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Listado de alumnos </h1> <?php poner_datos_grupo().php">Men&uacute.T.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php">Cerrar sesi&oacute. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td width="150" class="logo">&nbsp. semanal </a></li> <li><a href="Alumno_instalaciones.n</th> <th scope="col">Tel&eacute.V.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.</td> </tr> <tr> <td> <p> <?php bienvenido().css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.</td> <td colspan="2" class="titulo">&nbsp.php">Notas</a></li> <li><a href="Alumno_faltas. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.</td> </tr> <tr> <td class="fecha">&nbsp.php">Listado profesores </a></li> <li><a href="Alumno_notas.) 182 .n</th> <th scope="col">Poblaci&oacute.w3. org/TR/xhtml1/DTD/xhtml1-strict.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_alumnos.php").php"). ?> </table> <p>&nbsp.js"> </script> <link href="css/principal.php">Instalaciones</a></li> <li><a href="Alumno_tablon.S.n</a> 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()./js/fecha. require_once ("Alumno_inc.fono</th> </tr> <?php rellenar_tabla_alumnos().

81 ?> 82 </p></td> 83 </tr> 84 </table> 85 </body> 86 </html> E.S.V.T.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().P.) 183 . de Informática Aplicada (U.

w3.php">Tabl&oacute.php">Inicio</a></li> <li><a href="Alumno_horario.</td> </tr> <tr> <td> <p> <?php bienvenido().php">Faltas asistencia </a></li> <li><a href="Alumno_menu.php">Listado alumnos </a></li> <li><a href="Alumno_profes." class="logo">&nbsp. semanal </a></li> <li><a href="Alumno_instalaciones. org/TR/xhtml1/DTD/xhtml1-strict.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.w3.</td> <td colspan="2" class="titulo">&nbsp.S. ?> </table></td> <td class="general">&nbsp.dtd"> <html xmlns="http://www.js"> </script> <link href="css/principal.n</a> E./js/fecha.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Listado de profesores </h1> <p>&nbsp.P. ?> <br/><a href="cerrar_sesion_Alumno.php">Horario</a></li> <li><a href="Alumno_alumnos.php">Notas</a></li> <li><a href="Alumno_faltas.php">Instalaciones</a></li> <li><a href="Alumno_tablon. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.</td> </tr> <tr> <td class="fecha">&nbsp.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.php").T.0 Strict//EN" "http://www.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".php").org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.php">Men&uacute. 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().) 184 .V.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_profes. require_once ("Alumno_inc."> <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().php">Listado profesores </a></li> <li><a href="Alumno_notas.php">Cerrar sesi&oacute.

de Informática Aplicada (U.S.V.) 185 .T.P.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.

de Informática Aplicada (U.S.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.</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 session_start().php").n de anuncios </a></li> </ul> </td> <td class="general"><h1>Notas</h1> <?php curso_actual().</p></td> <td class="general">&nbsp.T.</td> </tr> <tr> <td> <p> <?php bienvenido(). org/TR/xhtml1/DTD/xhtml1-strict. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido." class="logo">&nbsp."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. require_once ("Alumno_inc.js"> </script> <link href="css/principal.w3. ?> <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().0 Strict//EN" "http://www.) 186 . semanal </a></li> <li><a href="Alumno_instalaciones. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_notas.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.php">Listado alumnos </a></li> <li><a href="Alumno_profes. ?> <br/><a href="cerrar_sesion_Alumno.'>Eventos del curso </p> E.php").org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php">Horario</a></li> <li><a href="Alumno_alumnos.php">Tabl&oacute.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". ?> </table> <p>&nbsp.V.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.php">Men&uacute.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().P.php">Listado profesores </a></li> <li><a href="Alumno_notas.php">Cerrar sesi&oacute./js/fecha.php">Instalaciones</a></li> <li><a href="Alumno_tablon.n</a> </p> </td> <td colspan="2" class="noticias"><p style=' font-weight: bold.dtd"> <html xmlns="http://www.php">Inicio</a></li> <li><a href="Alumno_horario.w3. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.</td> </tr> <tr> <td class="fecha">&nbsp.php">Notas</a></li> <li><a href="Alumno_faltas.

de Informática Aplicada (U.S.V.) 187 .P.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.

org/TR/xhtml1/DTD/xhtml1-strict.php").dtd"> <html xmlns="http://www. ?> </td> </tr> </table> </body> E.php">Horario</a></li> <li><a href="Alumno_alumnos.w3.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().T.n</a> </p> </td> <td colspan="2" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso().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">Men&uacute.php">Tabl&oacute.php">Listado alumnos </a></li> <li><a href="Alumno_profes. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.S.php">Listado profesores </a></li> <li><a href="Alumno_notas.php">Notas</a></li> <li><a href="Alumno_faltas. de Informática Aplicada (U. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ?> <p>&nbsp.php">Cerrar sesi&oacute.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.</td> </tr> <tr> <td class="fecha">&nbsp.php").php">Inicio</a></li> <li><a href="Alumno_horario.</p></td> <td class="general">&nbsp. semanal </a></li> <li><a href="Alumno_instalaciones.) 188 .V.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".php">Faltas asistencia </a></li> <li><a href="Alumno_menu.</td> <td colspan="2" class="titulo">&nbsp.</td> </tr> <tr> <td> <p> <?php bienvenido().w3. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido./js/fecha.js"> </script> <link href="css/principal.php">Instalaciones</a></li> <li><a href="Alumno_tablon.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_faltas.P. ?> <br/><a href="cerrar_sesion_Alumno.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Faltas de asistencia </h1> <?php rellenar_tabla_faltas()."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. require_once ("Alumno_inc.0 Strict//EN" "http://www." class="logo">&nbsp.

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

js"> </script> <link href="css/principal. org/TR/xhtml1/DTD/xhtml1-strict.</td> </tr> <tr> <td> <p> <?php bienvenido().php">Horario</a></li> <li><a href="Alumno_alumnos.w3.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). semanal </h1> <p><img src="img/menuJunio1.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_menu. ?> </td> </tr> </table> </body> </html> E.V.n de anuncios </a></li> </ul> </td> <td class="general"><h1>Men&uacute.T.php").</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.php">Cerrar sesi&oacute. ?> <br/><a href="cerrar_sesion_Alumno. require_once ("Alumno_inc.dtd"> <html xmlns="http://www.php">Instalaciones</a></li> <li><a href="Alumno_tablon. semanal </a></li> <li><a href="Alumno_instalaciones.</td> <td colspan="2" class="titulo">&nbsp.P.php">Tabl&oacute.php").php">Inicio</a></li> <li><a href="Alumno_horario.0 Strict//EN" "http://www.</td> </tr> <tr> <td class="fecha">&nbsp.) 190 .php">Men&uacute./js/fecha.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 <?php session_start(). de Informática Aplicada (U.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.php">Faltas asistencia </a></li> <li><a href="Alumno_menu. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.php">Listado profesores </a></li> <li><a href="Alumno_notas.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.n</a> </p> </td> <td colspan="2" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso().jpg" alt="menu" width="600" height="511" longdesc="Menu del comedor del mes de junio" /></p></td> <td class="general">&nbsp.php">Listado alumnos </a></li> <li><a href="Alumno_profes. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp.w3. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general." class="logo">&nbsp.S.

echo "</tbody>\n". de Informática Aplicada (U.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().) 191 .</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.js"> </script> <link href="css/principal.</td> </tr> <tr> <td class="fecha">&nbsp. } else { echo "<tr>\n".'>Fecha</th>\n". require_once ("Alumno_inc.php"). 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(). semanal </a></li> <li><a href="Alumno_instalaciones.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.w3. echo "</tr>\n".php">Instalaciones</a></li> <li><a href="Alumno_tablon">Tabl&oacute.php">Inicio</a></li> <li><a href="Alumno_horario.php">Men&uacute.0 Strict//EN" "http://www.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno. echo " <th style='width: 140px. echo "</tbody>\n". charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.S.'>Instalaci&oacute.php">Horario</a></li> <li><a href="Alumno_alumnos.V. if ($ins == null) { echo "<tr><td><b>No hay instalaciones reservadas</b></td>< /tr>\n".js"> </script> <script type="text/javascript" src=". org/TR/xhtml1/DTD/xhtml1-strict. echo " <th style='width: 100px./js/fecha.php">Notas</a></li> <li><a href="Alumno_faltas.</td> <td colspan="2" class="titulo">&nbsp.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_instalaciones. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.php">Listado profesores </a></li> <li><a href="Alumno_notas. echo " <th style='width: 425px.T.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.w3.php")./js/reservas.'>Normas</th>\n".dtd"> <html xmlns="http://www.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. echo " <th style='width: 90px." class="logo">&nbsp.</th>\n".'>&nbsp.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().n</th> \n". echo " <th style='width: 80px.P.php">Listado alumnos </a></li> <li><a href="Alumno_profes.'>Proposito</th>\n". ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.

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

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().$dia.lido<br>\n". $item). } if (!isset($motivo) || strlen($motivo) < 5 ) { $error . } //solo reservas en este año if ( !isset($anyo) || $anyo != $ano_hoy ) { $error . $iditem = $_REQUEST["iditem"]. if (!isset($item) && (strcmp($item. //¿Estan definadas las variables? if (!isset($dia) || $dia < 0 || $dia > 31) { $error = "D&iacute. $ano_hoy=date("Y"). $res = reservar_instalacion($login.lido<br>\n".= "Instalaci&oacute.= "Motivo insuficiente<br>\n".a no v&aacute. E. } else { $es_valido = true.$item1) != 0 )) { $error .lido<br>\n".n no v&aacute.php"). de Informática Aplicada (U. $seg.$min. //por $hora $min $seg si en futuro al reservar se tiene en cuenta la hora(de inicio) = 00.php").= "A&ntilde. $login = $_SESSION["id"]. $error = "". = 00. $motivo = substr($_REQUEST["motivo"].$mes. } if (!isset($mes) || $mes < 1 || $mes > 12 ) { $error . } if (!isset($iditem) || $iditem ==-1 ) { $error .P.$anyo. MAX_LENGTH_MOTIVO-1).$hora. if (!$res) { $es_valido = false.T. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.) 193 . ?> <?php //obtener datos enviados por el formulario $dia = $_REQUEST["dia"].$iditem. } $item1 = INST. require_once ("Alumno_inc. = 00.n<br>\n". $mes = $_REQUEST["mes"].Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_reserva. 0.$motivo.= "Tipo desconocido: $item : <br>\n". } if (strlen($error) > 1) { $es_valido = false.= "Mes no v&aacute.lida<br>\n".V. $item = $_REQUEST["item"].o no v&aacute. $error = "Se produjo un error inesperado en la reserva de la instalaci&oacute.S. $anyo = $_REQUEST["anyo"].

php">Listado alumnos </a></li> <li><a href="Alumno_profes.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td width="150" class="logo">&nbsp.</td> <td colspan="2" class="titulo">&nbsp.php">Men&uacute./js/fecha. ?></td> <td class="general">&nbsp.V. $sql = 'SELECT * FROM usuario WHERE login ="' .w3. E.php'>aquí< /a> para volver al formulario de reserva<br>\n".</td> </tr> <tr> <td> <p><?php //include("bd. 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.) 194 .w3.php">Listado profesores </a></li> <li><a href="Alumno_notas. redirigir(). de Informática Aplicada (U.php\">\n".T. semanal </a></li> <li><a href="Alumno_instalaciones.php").php">Notas</a></li> <li><a href="Alumno_faltas.php">Inicio</a></li> <li><a href="Alumno_horario. $resultado = consulta($sql. URL=/webcole/Alumno_instalaciones. org/TR/xhtml1/DTD/xhtml1-strict. $dp = Conectar(). echo "<br>\n". $_SESSION["id"] .</td> </tr> <tr> <td class="fecha">&nbsp.php">Horario</a></li> <li><a href="Alumno_alumnos.js"> </script> <link href="css/principal.dtd"> <html xmlns="http://www.php">Instalaciones</a></li> <li><a href="Alumno_tablon">Tabl&oacute.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.P. $dp). echo "Pulsa <a href='/webcole/Alumno_reservar_instalacion.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.S. } ?> <title>CP Emilio Lluch</title> <link href="css/general. '"'.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.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".0 Strict//EN" "http://www.

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

org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.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(). '<?php echo strtolower(INST). INST ." class="logo">&nbsp. require_once "Alumno_inc.V. ?> <table style="text-align: left. text-align: right. ?>'). w3. E.php" name="reservar"> <?php echo "<input type='hidden' name='item' value='" .T."> Selecciona una instalaci&oacute.) 196 .S. width: 700px.</td> <td colspan="2" class="titulo">&nbsp.P.php">Horario</a></li> <li><a href="Alumno_alumnos.org/TR/xhtml1/DTD/xhtml1-transitional.0 Transitional//EN" "http://www.</td> </tr> <tr> <td class="fecha">&nbsp.php">Men&uacute." border="0" cellpadding="2" cellspacing="2"> <tbody> <tr> <td style="width: 300px.css" rel="stylesheet" type="text/css" /> <link href="css/calendario.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="intranetAlumno."><span style="font-weight: bold. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.php").dtd"> <html xmlns="http://www.php">Inicio</a></li> <li><a href="Alumno_horario. de Informática Aplicada (U. height: 284px.php">Notas</a></li> <li><a href="Alumno_faltas."><select name="iditem" onchange="javascript:redirigir('<?php echo ALUM.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php".css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="."> <option value='-1'>Selecciona una instalaci&oacute.n</span></td> <td style="width: 400px.php">Listado profesores </a></li> <li><a href="Alumno_notas./js/fecha./js/reservas.php">Faltas asistencia </a></li> <li><a href="Alumno_menu. "' />\n".php">Listado alumnos </a></li> <li><a href="Alumno_profes.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_reservar_instalacion. ?> '."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. n</option> <?php //Comprobamos si llegamos aqui despues de elegir una instalacion $iditem = $_REQUEST["iditem"].js"> </script> <script type="text/javascript" src=".</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido. semanal </a></li> <li><a href="Alumno_instalaciones.php">Instalaciones</a></li> <li><a href="Alumno_tablon">Tabl&oacute. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.n de anuncios </a></li> </ul> </td> <td class="general">Intranet Alumno <form method="get" action="/webcole/Alumno_reserva. text-align: left. text-align: right.js"> </script> <link href="css/principal.

$mes .$mes. "</option>\n". $tiempo_actual).T. echo "<input type=\"hidden\" name='mes' value='$mes'/> \n". text-align: right. echo "<input type=\"hidden\" name='anyo' value='$ano'/> \n". $ano = date("Y". if (!isset($tabla)) { //utilizamos una variable no inicializada //mostrar_calendario tiene en cuenta si esa variable //no esta inicializada mostrar_calendario($dia_c. ALUM).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.php"). $mes . $dia=date("d"). INST). $ano = $_GET["nuevo_ano"]. $actual[ "idinstalacion"].V. INST. $tiempo_actual). }else { //echo "http definidos<br>\n". $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". "'>" . $actual[ "idinstalacion"]. } if (!isset($mes)) { $mes = date("n". $fecha=$ano . "' selected='selected'>" . $mes = $_GET["nuevo_mes"].P. $dia = $_GET["dia"]. } } ?> </select></td> </tr> <tr> <td style="width: 200px. ">Selecciona una fecha< /span></td> <td style="width: 400px. $actual[ "instalacion"] . "-" . $variable_no_asignada. foreach ($ins as $actual) { if ($actual["idinstalacion"] == $iditem) { echo "<option value='" .$ano. $dia. $actual["instalacion"] ."><?php require_once ("calendario_ins. $tabla = fecha_reservas($iditem.) 197 . de Informática Aplicada (U. } else E. } if (!isset($ano)) { $ano = date("Y". "-" ."><span style="font-weight: bold. $tiempo_actual = time(). "-" . } else { echo "<option value='" . $tiempo_actual). } if (!isset($dia)) { $dia=date("d").S. } echo "<input type=\"hidden\" name=\"dia\" value=''/>\n". $ins = listado_instalacion(). $fecha=$ano . "-" . $mes = date("n". echo "<input type=\"hidden\" name='dia_c' value='$dia'/> \n". "</option>\n".

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

js"> </script> <link href="css/principal.dtd"> <html xmlns="http://www./js/fecha.0 Strict//EN" "http://www. de Informática Aplicada (U.</td> </tr> <?php poner_anuncios_tablon().n de anuncios </h1> <p>&nbsp.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime()." class="logo">&nbsp.n de anuncios </a></li> </ul> </td> <td colspan="2" class="general"><h1>Tabl&oacute.php">Listado alumnos </a></li> <li><a href="Alumno_profes.w3.) 199 . ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.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.php">Instalaciones</a></li> <li><a href="Alumno_tablon.php">Men&uacute.</div></td> </tr> <tr> <td rowspan="5" class="menu"> <ul> <li><a href="intranetAlumno.</td> <td colspan="3" class="titulo">&nbsp. org/TR/xhtml1/DTD/xhtml1-strict.php">Tabl&oacute.php").</p></td> <td rowspan="5" class="general">&nbsp.V.php">Inicio</a></li> <li><a href="Alumno_horario.S.</td> </tr> <tr> <td class="fecha">&nbsp.w3.php">Faltas asistencia </a></li> <li><a href="Alumno_menu.</td> <td colspan="3" class="fecha"><div id="campoHora">&nbsp.php">Listado profesores </a></li> <li><a href="Alumno_notas.Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_tablon.php").org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php">Horario</a></li> <li><a href="Alumno_alumnos. require_once ("Alumno_inc.T.php">Notas</a></li> <li><a href="Alumno_faltas.tulo </label> <br /> <input type="text" name="titulo" /> <p> Texto <br /> <label> <textarea name="texto" cols="60" rows="3"></textarea> </label> </p> <p> E.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". semanal </a></li> <li><a href="Alumno_instalaciones."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.php"> <div> <label> T&iacute. ?> <tr> <td></td> <td colspan="2" class="general"><h3>Insertar nuevo anuncio</h3> <form id="form1" method="post" action="Alumno_tablon_insertar.

S.) 200 .P.T.n</a> </p> </td> <td colspan="3" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso(). ?> </td> </tr> </table> </body> </html> E. ?> <br/><a href="cerrar_sesion_Alumno. </p></td> <td class="general"></td> </tr> <tr> <td> <p> <?php bienvenido().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.V. de Informática Aplicada (U.php">Cerrar sesi&oacute.

if($_SESSION["tipo"] != "Alumno") header("Location: prohibido. '".$fecha.P."'.. Desconectar($conn).S. '". $fecha = date("Y-m-d H:i:s"). '". $titulo = $_POST["titulo"]. $texto = $_POST["texto"].V. include("bd. `texto` ) VALUES ('".$texto.T. $conn = Conectar().$idanun.URL=Alumno_tablon."'. `titulo` .$_SESSION["id"]. '". `fecha` ."')". else $idanun = 1. if($num = siguiente($num)) $idanun= $num["idanuncio"] + 1. $titulo. `login` .. de Informática Aplicada (U. //echo "id". mysql_error($conn). $num = consulta($sql."error: " .php").php"> </head> Insertando. E. ?> <head> <meta http-equiv="refresh" content="3.php").Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_tablon_insertar."'.$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 <?php session_start().$_SESSION["id"]."'. $sql = "SELECT * FROM anuncio ORDER BY idanuncio DESC".$conn). $sql = "INSERT INTO `anuncio` ( `idanuncio` .) 201 . $insert = consulta($sql.

if (!$resultado) { $error = "Han ocurrido problemas durante la anulacion de la reserva <br>\n". $es_valido = false. de Informática Aplicada (U.="Error en la Fecha. if ( !isset($login)) { header("Location: /webcole/prohibido."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td width="150" class="logo">&nbsp. ?> <title>CP Emilio Lluch</title> <link href="css/general. $item). $es_valido = false.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().="Error en el codigo de instalacion. $login = $_SESSION["id"]. $item = $_REQUEST["item"]. $es_valido = false. charset=iso-8859-1" /> <?php if ($es_valido) echo "<meta http-equiv=\"refresh\" content=\"5. php\" />\n".w3.</td> E.0 Strict//EN" "http://www. } if ($es_valido) { $resultado = anular_reserva($login.) 202 .php"). $es_valido = true. No valida<br>\n".P./js/fecha. $iditem.dtd"> <html xmlns="http://www. org/TR/xhtml1/DTD/xhtml1-strict. if($_SESSION["tipo"] != "Alumno") header("Location: prohibido.js"> </script> <link href="css/principal. } if ( !isset($iditem) || $iditem < 1 ) { $error .V.S. } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.w3. //si no es correcto sencillamente no se borrara el registro.</td> <td colspan="2" class="titulo">&nbsp.T.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. require_once "Alumno_inc. if ( !isset($fecha)) { $error .Vicente Sancho Guijarro Proyecto Final de Carrera Alumno_anular_reserva. } } else { $error = "Han ocurrido errores en los parametros de anulacion<br>\n" .php"). $es_valido = false. $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().css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". No valido<br>\n". // $fecha = urldecode($_REQUEST["fecha"]). } //ya estara en el formato de mysql.URL=Alumno_instalaciones. $iditem = $_REQUEST["iditem"]. $error = "". $error.php". $fecha. //echo $error.

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

mktime(0.0. break.$ano)).$ano){ $numerodiasemana = date('w'. break. break. } function dame_nombre_mes($mes){ switch ($mes){ case 1: $nombre_mes="Enero".$dia.$mes.$mes.T. if ($numerodiasemana == 0) $numerodiasemana = 6. case 10: $nombre_mes="Octubre". puede recibir una tablas con fechas //en que una instalacion ha sido reservada.$ano){ $ultimo_dia=28. case 9: $nombre_mes="Septiembre".$ano)){ $ultimo_dia++. return $numerodiasemana. break. else $numerodiasemana--. $_GET["formulario"] . en este caso marcar dichas //fechas en el calencia function mostrar_calendario($dia. de Informática Aplicada (U. break. case 8: $nombre_mes="Agosto". break.php"). case 3: $nombre_mes="Marzo".P. function calcula_numero_dia_semana($dia. break. break. $_GET["nomcampo"]. } return $ultimo_dia. case 5: $nombre_mes="Mayo". break.Vicente Sancho Guijarro Proyecto Final de Carrera calendario_faltas. "&nomcampo=" .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. case 6: $nombre_mes="Junio". case 2: $nombre_mes="Febrero". $parametros_formulario = "formulario=" .) 204 .S. } //Muestra el calendario. case 11: $nombre_mes="Noviembre". break. case 7: $nombre_mes="Julio".$mes. break. case 4: $nombre_mes="Abril". break. } return $nombre_mes. E. while (checkdate($mes. $ano_hoy=date("Y").$ultimo_dia + 1.0. } //funcion que devuelve el último día de un mes y año dados function ultimoDia($mes.$ano){ $mes_hoy=date("m"). case 12: $nombre_mes="Diciembre".V.

dia=$dia&amp.text-align: center .text-align: center . $mes_siguiente=01." class="altn">Vi< /td> <td style="width: 14%.nuevo_ano=$ano_siguiente'>&gt." class="altn">Lu< /td> <td style="width: 14%.font-weight:bold.text-align: center .text-decoration:none' href='calendario_faltas.S. //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.$ano). echo "<table width='100%' cellspacing='2' cellpadding='2' border='0'>< tr><td style='font-size:10pt.nuevo_ano=$ano_anterior'>&lt. $nodis = array().text-align: center . echo "<td align=right style=font-size:10pt. echo "<td align=center class=tit>$nombre_mes $ano</td>".&gt. } //tomo el nombre del mes que hay que imprimir $nombre_mes = dame_nombre_mes($mes). $ano_siguiente = $ano.php?$parametros_formulario&amp.color: white>". de Informática Aplicada (U.font-weight:bold.color:white'>".) 205 .V." class="altn">Mi< /td> <td style="width: 14%. if ($mes_siguiente==13){ $ano_siguiente++.T." class="altn">Ma< /td> <td style="width: 14%.dia=$dia&amp.php?$parametros_formulario&amp.text-align: center .</a></td> </tr></table></td></tr>"." class="altn">Sa< /td> <td style="width: 14%.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.$mes. //Variable para llevar la cuenta del dia actual $dia_actual = 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 ' <tr> <td style="width: 14%.</a></td>".text-decoration:none' href='calendario_faltas. $ano_anterior = $ano. $mes_anterior=12. //echo "Numero del dia de demana del primer: $numero_dia <br>". if ($mes_anterior==0){ $ano_anterior--. //calculo el mes y ano del mes anterior $mes_anterior = $mes . //calculo el mes y ano del mes siguiente $mes_siguiente = $mes + 1." class="altn">Ju< /td> <td style="width: 14%. } echo "<a style='color:white.P.text-align: center .1. //calculo el numero del dia de la semana del primer dia $numero_dia = calcula_numero_dia_semana(1. nuevo_mes=$mes_anterior&amp. } else { $hoy=date("d"). } echo "<a style='color:white. nuevo_mes=$mes_siguiente&amp. //calculo el último dia del mes $ultimo_dia = ultimoDia($mes.&lt.text-align: center .$ano)." class="altn">Do< /td> </tr>'.

223 224 //recorro todos los demás días hasta el final del mes 225 $numero_dia = 0.$ano)'>$dia_actual</a>< 213 /td>\n". 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>".$mes.) 206 .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"].V. de Informática Aplicada (U. $nodis )) 173 { 174 echo "<td class='nd'>$dia_actual</td>\n". 172 if (in_array($dia_actual. 179 } 180 else if ($dia_actual == $dia) //Dia seleccionado 181 { 182 echo "<td class='da'>$dia_actual</td>\n".S. 194 } 195 else if ($dia_actual == $hoy) 196 { 197 echo "<td class='laborable'><a href='javascript: 198 devuelveFecha($dia_actual.$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>".$mes.$ano)'>$dia_actual</a>< 205 /td>\n". 162 for ($i=0.P.T.$ano)'>$dia_actual</a>< 199 /td>\n". 187 } 188 } 189 else 190 { 191 if (in_array($dia_actual. 175 } 176 else if ($dia_actual == $hoy) 177 { 178 echo "<td class='da'>$dia_actual</td>\n". 183 } 184 else 185 { 186 echo "<td class='da'>$dia_actual</td>\n".$mes. 220 } 221 } 222 echo "</tr>". 200 } 201 else if ($dia_actual == $dia) //Dia seleccionado 202 { 203 echo "<td class='laborable'><a href='javascript: 204 devuelveFecha($dia_actual. 214 215 } 216 217 218 } 219 $dia_actual++. 206 } 207 208 else 209 { 210 211 echo "<td class='laborable'><a href='javascript: 212 devuelveFecha($dia_actual. $nodis )) 192 { 193 echo "<td class='nd'>$dia_actual</td>\n".$i<7. 226 while ($dia_actual <= $ultimo_dia){ 227 //si estamos a principio de la semana escribo el <TR> E.

$nodis )) { echo "<td class='nd'>$dia_actual</td>\n".$ano)'>$dia_actual</a>< /td>\n". echo "<td class='da'>$dia_actual</td>\n". } } $dia_actual++. php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>". } else { echo "<td class='laborable' ><a href='javascript: devuelveFecha($dia_actual. echo "<td class='da'>$dia_actual</td>\n". php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>".$mes. 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. } } //compruebo que celdas me faltan por escribir vacias de la última semana del mes E. //si es el uñtimo de la semana.$ano)'>$dia_actual</a>< /td>\n". php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>". } else if ($dia_actual == $hoy) { echo "<td class='laborable' ><a href='javascript: devuelveFecha($dia_actual.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>".T.S.$ano)'>$dia_actual</a>< /td>\n". } else { //echo "<td class=fs ><a href=calendario. $nodis )) { echo "<td class='nd'>$dia_actual</td>\n".) 207 . echo "</tr>\n". $numero_dia++.P. } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class='laborable' ><a href='javascript: devuelveFecha($dia_actual. if ($numero_dia == 7) { $numero_dia = 0. } else if ($dia_actual == $dia) //Dia seleccionado { //echo "<td class=da><a href=calendario. echo "<td class='da'>$dia_actual</td>\n".$mes. de Informática Aplicada (U.$mes. } } else { if (in_array($dia_actual.V. } else if ($dia_actual == $hoy) { //echo "<td class=da><a href=calendario.

$ano = date("Y". $ano = date("Y". $fecha=$ano . $ano = $_GET["nuevo_ano"]. $tiempo_actual)." + formulario_destino + ". $dia. $tiempo_actual)." + campo_destino + ". "-" . if ( !isset ($mes) || !isset ($ano) || !isset ($dia) { $tiempo_actual = time().) 208 . focus()"). echo "</table>\n". charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. $mes ." + formulario_destino + ". "-" .$i<7. value='" + dia + "-" + mes + "-" + ano + "'") eval ("opener.0 Strict//EN" "http://www. "-" . } $fecha=$ano . ?> </body> </html> ) E. org/TR/xhtml1/DTD/xhtml1-strict.w3.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> function devuelveFecha(dia. $dia=date("d"). }else { $mes = $_GET["nuevo_mes"]. } </script> </head> <body> <? mostrar_calendario($dia. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.$ano).$mes.$i++){ echo "<td></td>\n".document. $tiempo_actual).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"]?>'.S. //meto el dia eval ("opener.css" rel="stylesheet" type="text/css" /> <link href="css/calendario.T. $mes = date("n". } if (!$HTTP_POST_VARS && !$HTTP_GET_VARS){ $tiempo_actual = time().V.close(). } //echo"Fecha Seleccionada <input type=text name=fecha value=$fecha>". var campo_destino = '<?echo $_GET["nomcampo"]?>'. de Informática Aplicada (U. $dia." + campo_destino + ".dtd"> <html xmlns="http://www. "-" . $tiempo_actual).w3. $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. //echo "<input type='hidden' name='anyo2' value='$ano' />\n". $mes = date("n".document.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. window. $dia = $_GET["dia"]. Proyecto Final de Carrera //echo "<input type='hidden' name='mes2' value='$mes' />\n". } echo "</tr>\n".P. $dia=date("d").mes.

case 5: $nombre_mes="Mayo".$ano){ $numerodiasemana = date('w'. case 6: $nombre_mes="Junio". break. case 3: $nombre_mes="Marzo". INST) == 0 ) { $url= $usuario . $reservas. break. break.php".0. } function dame_nombre_mes($mes){ switch ($mes){ case 1: $nombre_mes="Enero".) 209 . $tipo. break.$mes. return $numerodiasemana.$ano.$ultimo_dia + 1. case 4: $nombre_mes="Abril". puede recibir una tablas con fechas //en que una instalacion ha sido reservada. if (strcmp($tipo.T. case 7: $nombre_mes="Julio". $usuario){ $mes_hoy=date("m"). function calcula_numero_dia_semana($dia. case 10: $nombre_mes="Octubre". case 2: $nombre_mes="Febrero".0.P. case 9: $nombre_mes="Septiembre".$mes.$ano)). } return $nombre_mes. while (checkdate($mes. break. break. } return $ultimo_dia. "_reservar_instalacion. else $numerodiasemana--. break. } //Muestra el calendario. break. case 11: $nombre_mes="Noviembre".S. break. en este caso marcar dichas //fechas en el calencia function mostrar_calendario($dia.php"). E. $ano_hoy=date("Y").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. } //funcion que devuelve el último día de un mes y año dados function ultimoDia($mes.$ano)){ $ultimo_dia++. break. break.$dia. case 8: $nombre_mes="Agosto".Vicente Sancho Guijarro Proyecto Final de Carrera calendario_ins.$mes. de Informática Aplicada (U. break. mktime(0. case 12: $nombre_mes="Diciembre".$ano){ $ultimo_dia=28.V. if ($numerodiasemana == 0) $numerodiasemana = 6.

text-decoration:none href=$url?dia=$dia&nuevo_mes=$mes_anterior&nuevo_ano=$ano_anterior>&lt. $ano_siguiente = $ano. } echo "<a style=color:white.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.&gt. if ($mes_anterior==0){ $ano_anterior--.</a></td>". //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.P. } else { $hoy=date("d").1. 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>'. echo "<td align=center class=tit>$nombre_mes $ano</td>". //calculo el último dia del mes $ultimo_dia = ultimoDia($mes.$ano). &lt.color: white>". if ($mes_siguiente==13){ $ano_siguiente++. //echo "Numero del dia de demana del primer: $numero_dia <br>".color:white>".T.font-weight:bold. //calculo el numero del dia de la semana del primer dia $numero_dia = calcula_numero_dia_semana(1. $mes_anterior=12. } Proyecto Final de Carrera //obtenemos if (($mes_hoy <> $mes) || ($ano_hoy <> $ano)) { $hoy=0.) 210 . $mes_siguiente=01. } //tomo el nombre del mes que hay que imprimir $nombre_mes = dame_nombre_mes($mes). //calculo el mes y ano del mes siguiente $mes_siguiente = $mes + 1. //Variable para llevar la cuenta del dia actual $dia_actual = 1.S.</a></td></tr></table></td></tr>".$ano).font-weight:bold. echo "<td align=right style=font-size:10pt. //construyo la cabecera de la tabla echo "<table width=200 cellspacing=3 cellpadding=2 border=0><tr><td colspan=7 align=center class=tit>".php". //calculo el mes y ano del mes anterior $mes_anterior = $mes . $ano_anterior = $ano. } echo "<a style=color:white.text-decoration:none href=$url?dia=$dia&nuevo_mes=$mes_siguiente&nuevo_ano=$ano_siguiente> &gt. $nodis = array().$mes. echo "<table width=100% cellspacing=2 cellpadding=2 border=0><tr><td style=font-size:10pt. de Informática Aplicada (U.V.

'>$dia_actual</a></td>\n". 215 } 216 } 217 echo "</tr>".S.Vicente Sancho Guijarro Proyecto Final de Carrera 151 if ( $actual["anyo"] == $ano && $actual["mes"] == $mes) 152 { 153 $nodis [] = $actual["dia"].$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>".$i<7. 185 } 186 } 187 else 188 { 189 if (in_array($dia_actual. me pongo al principio de la semana 226 y escribo el </tr> 227 E. de Informática Aplicada (U. 225 //si es el uñtimo de la semana. 177 } 178 else if ($dia_actual == $dia) //Dia seleccionado 179 { 180 echo "<td class=da>$dia_actual</td>\n". 173 } 174 else if ($dia_actual == $hoy) 175 { 176 echo "<td class=da>$dia_actual</td>\n". 181 } 182 else 183 { 184 echo "<td class=da>$dia_actual</td>\n". $nodis )) 171 { 172 echo "<td class=nd>$dia_actual</td>\n". 170 if (in_array($dia_actual. 154 } 155 } 156 } 157 158 //escribo la primera fila de la semana 159 echo "<tr>".T.P.) 211 .V. 160 for ($i=0.'>$dia_actual</a></td>\n". 197 } 198 else if ($dia_actual == $dia) //Dia seleccionado 199 { 200 echo "<td class=laborable><a href='javascript:cambiar( 201 $dia_actual). 209 210 } 211 212 213 } 214 $dia_actual++. 192 } 193 else if ($dia_actual == $hoy) 194 { 195 echo "<td class=laborable><a href='javascript:cambiar( 196 $dia_actual). 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>". $nodis )) 190 { 191 echo "<td class=nd>$dia_actual</td>\n".'>$dia_actual</a></td>\n". 165 } else { 166 if (($i == 5) || ($i == 6)) 167 { 168 //comprobamos si esta fecha esta en la tabla de las 169 //fechas reservadas. 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.

$nodis )) { echo "<td class=nd>$dia_actual</td>\n".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. echo "</tr>\n".'>$dia_actual</a></td>\n". } echo "</tr>\n". 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.) 212 .T. } else if ($dia_actual == $dia) //Dia seleccionado { echo "<td class=laborable ><a href='javascript:cambiar( $dia_actual). de Informática Aplicada (U.$i++){ echo "<td></td>\n". } else { //echo "<td class=fs ><a href=calendario. echo "<td class=da>$dia_actual</td>\n".$i<7. E.V. } else if ($dia_actual == $dia) //Dia seleccionado { //echo "<td class=da><a href=calendario. php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>".'>$dia_actual</a></td>\n". //echo "<input type='hidden' name='mes2' value='$mes' />\n". php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>".'>$dia_actual</a></td>\n".S. } } $dia_actual++. echo "<td class=da>$dia_actual</td>\n". $nodis )) { echo "<td class=nd>$dia_actual</td>\n". } else if ($dia_actual == $hoy) { //echo "<td class=da><a href=calendario. echo "</table>\n". if ($numero_dia == 7) { $numero_dia = 0. } } else { if (in_array($dia_actual. } else { echo "<td class=laborable ><a href='javascript:cambiar( $dia_actual). } else if ($dia_actual == $hoy) { echo "<td class=laborable ><a href='javascript:cambiar( $dia_actual). $numero_dia++.P. php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano> $dia_actual</a></td>".

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

$link). $tabla[$i++]["normas"] = $fila["normas"]. } Desconectar ($link).php".V. $link). } //devuelve una tabla con el id de las equipaciones. while ($fila = siguiente($resultado)) { $tabla[$i]["idequipacion"] = $fila["idequipacion"]. 1062). //ejecutamos la consulta $resultado = consulta ($sql. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. if($_SESSION["tipo"] != "Profesor") header("Location: prohibido. $tabla[$i]["equipacion"] = $fila["equipacion"]. apunta al fichero // que las tiene) function listado_instalacion() { $link = Conectar(). return $tabla. //el maximo de la longitud del motivo para reservar una instalacion //o equipamiento. (EQUIP.T. while ($fila = siguiente($resultado)) { $tabla[$i]["idinstalacion"] = $fila["idinstalacion"]. "EQUIPACION"). //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0.Vicente Sancho Guijarro Proyecto Final de Carrera profesor_inc. session_start(). $tabla[$i]["instalacion"] = $fila["instalacion"]. require_once "bd. //devuelve una tabla con el id de las instalaciones. E. $sql = "SELECT * FROM equipacion". 4). apunta al fichero // que las tiene) function listado_equipacion() { $link = Conectar().) 214 .P. "Profesor"). //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. (TRIMESTRE. Solo habra que cambiarlo de aqui //el maximo que podria soportar la tabla en mysql es de 65535 caracteres define( MAX_LENGTH_MOTIVO. de Informática Aplicada (U. //ejecutamos la consulta $resultado = consulta ($sql. (CLAVE_REPETIDA.S.php"). (PROFE.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. $sql = "SELECT * FROM instalacion". "INSTALACION"). 1500). //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.

S. $_SESSION["id"] . //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. $link). $sql = "SELECT * FROM res_equi WHERE login = '" ."'". $_SESSION["id"] . "'". 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. $tabla[$i++]["normas"] = $ins["normas"]. $tabla[$i++]["normas"] = "Normas no encontradas". //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. //ejecutamos la consulta E. $tabla[$i]["instalacion"] = "Instalacion desconocida". 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_equipaciones() { $link = Conectar(). //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. if ($ins) { $tabla[$i]["idinst"] = $ins["idinstalacion"]. return $tabla. } else { $tabla[$i]["idinst"] = -1. $res_ins = consulta ($sql_ins. } Desconectar ($link). while ($fila = siguiente($resultado)) { $tabla[$i]["fecha"] = $fila["fecha"]. //$tabla[$i]["fecha"] = $fila["fecha"]. function listado_reservas_instalaciones() { $link = Conectar(). //ejecutamos la consulta $resultado = consulta ($sql. } //Devuelve una tabla con las reservas de equipamientos que //ha efectuado el usuario. $sql = "SELECT * FROM res_ins WHERE login = '" .T. $tabla[$i]["proposito"] = $fila["proposito"]. $sql_ins = "SELECT * FROM instalacion WHERE idinstalacion = '" . de Informática Aplicada (U.) 215 . return $tabla."'". } } Desconectar ($link). $ins = siguiente($res_ins).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"]. $fila["idinstalacion"] . $tabla[$i]["instalacion"] = $ins["instalacion"].V. $tabla = null. } Proyecto Final de Carrera //Devuelve una tabla con las reservas de instalaciones que //ha efectuado el usuario. $link).P.

de Informática Aplicada (U. $res_ins = consulta ($sql_ins. "'". $link). $correcto =false.`login` USING utf8)='$login' AND `res_equi`. Proyecto Final de Carrera $sql_ins = "SELECT * FROM equipacion WHERE idequipacion = '" .`fecha`='$fecha' ". } else { //echo "La reserva ha sido eliminada". } //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"].a sido eliminada".P. $tabla[$i++]["normas"] = "Normas no encontradas".`idequipacion`=$iditem AND `res_equi`. if ($item == INST) { $sql = "DELETE FROM `res_ins` WHERE CONVERT(`res_ins`.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. $tabla = null. } } else { //echo"<p>Operacion NO efectuada</p>\n".T. mysql_error($link) . $tabla[$i]["equipacion"] = $ins["equipacion"]. } else { $tabla[$i]["idequipacion"] = -1.S.`login` USING utf8)='$login' AND `res_ins`.`idinstalacion`=$iditem AND `res_ins`. $tabla[$i]["proposito"] = $fila["proposito"]. if($result) { $filas = mysql_affected_rows(). //echo"<p>Error: " . return $tabla. } else { $sql = "DELETE FROM `res_equi` WHERE CONVERT(`res_equi`. $tabla[$i++]["normas"] = $ins["normas"]. //echo"SQL: $sql". $fila["idequipacion"] . $fecha. } } Desconectar ($link).V.) 216 . $correcto =true. E. //$tabla[$i]["fecha"] = $fila["fecha"]. $item) { $link = Conectar(). $tabla[$i]["equipacion"] = "Equipacion desconocida". "</p>\n". if ( $filas == 0 ) { //echo "La reserva ya hab&iacute. $iditem. $link).`fecha`='$fecha' ". } $result = consulta ($sql. while ($fila = siguiente($resultado)) { $tabla[$i]["fecha"] = $fila["fecha"]. $ins = siguiente($res_ins). $correcto =false. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. $link).

$motivo. $tabla.$min.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. "-" . } else { $sql = "SELECT fecha FROM `res_equi` WHERE `res_equi`.V. while ($fila = siguiente($result)) { $fecha = sacarFecha($fila["fecha"]). ": " . mes. } $result = consulta ($sql.`idequipacion`=$iditem" . anyo) y hora(hora. } Desconectar ($link). min. $item) { if ( !isset($iditem) || $iditem == -1) { //echo "id instalacion no definido<br>\n". $fecha). $item) { $fecha = $anyo . ":" . `proposito`) VALUES (\'$login\'. $seg. //echo " fecha: " . return $correcto. de Informática Aplicada (U. } //Permite hacer una reserva //Recibe como parametros //Login del usuario.`res_ins` (`login`. } $link = Conectar(). "\n<br>". `fecha`.$hora.$dia. return.P. $seg. $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. $link = Conectar(). } Desconectar ($link). $tabla[$i++]["anyo"] = $trozo[2]. fecha(dia.$mes. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. $trozo = explode ("-". $fecha . if ($item == INST) { $sql = "SELECT fecha FROM `res_ins` WHERE `res_ins`. $min . $tabla[$i]["mes"] = $trozo[1]. $link). $hora .T. /*$sql = "INSERT INTO `webcole`.) 217 .$anyo.`idinstalacion`=$iditem" . return $tabla. $tabla[$i]["dia"] = $trozo[0]. " " . $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.S. `idinstalacion`. E. "-" .$iditem.

email.login ORDER BY u. `proposito`) VALUES ('$login'.". `fecha`. \'$motivo\').tutorias FROM profesor p.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\'.`res_equi` (`login`. `fecha`. echo "error: " .nombre. $tabla[$i]["apellido1"] = $fila["apellido1"].P. u. `idinstalacion`.". $link). '$iditem'. */ if ($item == INST) { $sql = "INSERT INTO `webcole`. '$motivo').V. p.apellido1". usuario u WHERE p. } 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(). //echo "error: " . } else { $sql = "INSERT INTO `webcole`. $tabla = null.". } Desconectar ($link). p. u. $link). `idequipacion`.apellido2.apellido1.`res_ins` (`login`. mysql_error($link). } $result = consulta ($sql. while ($fila = siguiente($resultado)) { $tabla[$i]["nombre"] = $fila["nombre"]. $sql = "SELECT u. //sacamos los valores que nos interesan de los //resultados (en este caso todos) $i = 0. \'$fecha\'. } else { $tabla[$i]["tutorias"] = $fila["tutorias"]. de Informática Aplicada (U.) 218 . '$fecha'. if ($fila["tutorias"] == "null") { $tabla[$i]["tutorias"] = "Sin tutorias". `proposito`) VALUES ('$login'. $tabla[$i]["apellido2"] = $fila["apellido2"]. } $i++. mysql_error($link).T. $tabla[$i]["email"] = $fila["email"].login=u. '$iditem'. return $result. '$fecha'. '$motivo').S. //ejecutamos la consulta $resultado = consulta ($sql. E. Desconectar ($link).

$res_asig = consulta ($sql_asig. $link). de Informática Aplicada (U. return $tabla. $tabla = null. //por cada asignatura sacamos sus datos $sql_asig = "SELECT nombre. $sql = "SELECT asignatura FROM imparte WHERE profesor='$login'".P. } desconectar($link). $tabla[$i]["horario"] = $fila_asig["horario"]. Proyecto Final de Carrera $link = Conectar().) 219 . curso. horario FROM asignatura WHERE codigoasignatura='$codasig'". } $i++. horario FROM asignatura WHERE codigoasignatura=" . curso. $link = Conectar(). } $sql = "SELECT letra FROM impartida WHERE asignatura='$codasig'". $link). //ejecutamos la consulta $resultado = consulta ($sql. //recorremos los resultados while ($fila = siguiente($resultado)) { $tabla[$i]["codasig"] = $fila["asignatura"]. } else { //posible error en el codigo de la asignatura ¿mejor volver ya= return . $tabla["horario"] = $fila["horario"]. $fila = siguiente($resultado).T. if ($fila) { $tabla["codasig"] = $codasig. $tabla[$i]["curso"] = $fila_asig["curso"]. E. $sql = "SELECT nombre. $tabla["curso"] = $fila["curso"]. $link). $i = 0. Error: " . //ejecutamos la consulta $resultado = consulta ($sql. $fila = siguiente($resultado).S.V. $tabla[$i]["codasig"]. while ($fila_asig = siguiente($res_asig)) { $tabla[$i]["nombre"] = $fila_asig["nombre"]. } else { echo "fallo la letra. mysql_error(). } //Obtiene los datos de la asignatura que se le pasa como parametro function obtener_datos_asignatura($codasig) { $login = $_SESSION["id"]. $link). $tabla["nombre"] = $fila["nombre"].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. } //Obtiene las asignaturas del profesor function asignaturas_profesor () { $login = $_SESSION["id"]. //ejecutamos la consulta $resultado = consulta ($sql. if ($fila) { $tabla["letra"] = $fila["letra"].

$curso = $fila["curso"]. $link). $fila_alu["apellido2"]. $tabla[ "letra"] . `curso`.T.login ORDER BY usu. $tabla["curso"] . } //obtener los datos de los alumnos que estan en ese curso y letra $sql_alumnos = "SELECT usu. mysql_error().apellido2. "' and letra='" . $sql = "INSERT INTO `webcole`. login FROM usuario usu. `asignatura`. $link).`nota` (`alumno`. $link).".P. de Informática Aplicada (U. mysql_error(). '$codasig'. `nota`) VALUES ('$alumno'. usu. "'.letra='$letra' and alu.apellido1". return.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='" . `trimestre`.) 220 . while ($fila_alu = siguiente($res_alumno)) { $tabla[$i]["nombre"] $tabla[$i]["apellido1"] $tabla[$i]["apellido2"] $tabla[$i]["login"] $i++.S. } else { echo "fallo la letra.apellido1. if ($fila) { $tabla["aula"] = $fila["aula"]. usu. } desconectar($link). "'". //ejecutamos la consulta $resultado = consulta ($sql. $sql = "SELECT curso. $fila = siguiente($resultado). Error: " . letra FROM impartida WHERE asignatura='$codasig'". } desconectar($link). $link = Conectar(). $fila_alu["login"]. '$nota'). $trimestre. if ($fila) { $letra = $fila["letra"]. $datos["curso"] . alumno alu WHERE alu. return $tabla. usu.curso=$curso and alu. $res_alumno = consulta ($sql_alumnos. return $tabla. $nota) { $datos = obtener_datos_asignatura($codasig).V. login=usu.$codasig. } else { echo "fallo el aula. //ejecutamos la consulta $resultado = consulta ($sql. } function poner_nota($alumno. $fila_alu["apellido1"]. } function obtener_alumnos_asignatura($codasig) { $link = Conectar(). '$trimestre'. = = = = $fila_alu["nombre"].nombre. $fila = siguiente($resultado). E. Error: " . '" .

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

$fila_alu["login"] .T. $tabla[$i]["login"] = $fila_alu["login"].P. if (isset($fecha)) { $fecha_mysql = cambiar_a_date($fecha). //ejecutamos la consulta $tabla[$i] = $actual. $lon = count($alumnos). $separada[1] . $fila = siguiente($resultado). "-" . return $tabla.S. "-".) 222 .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[""]. $tabla[$i]["apellido2"] = $fila_alu["apellido2"]. "<br>\n". mysql_error(). $fecha) { $alumnos = obtener_alumnos_asignatura($codasig). $link). E. } //Se recibe una fecha en formato dd-mm-aaaa //Se devuelve una fecha en formato aaaa-mm-dd function cambiar_a_date($fecha) { //$nuevafecha = "".V. } function obtener_faltas_alumnos ($codasig. $separada[0]. de Informática Aplicada (U."'". } } else { echo "Se produjo un error al acceder a las notas del alumno<br>\n". $tabla[$i]["fecha"] = $fecha. $tabla[$i]["apellido1"] = $fila_alu["apellido1"]. } $link = Conectar(). Error: " . if ($fila) { $tabla[$i]["justificada"] = $fila["justificada"]. $resultado = consulta ($sql. } $i++. $tabla[$i]["fecha"] = "". } $tabla[$i]["nombre"] = $fila_alu["nombre"]. } else { $tabla[$i]["justificada"] = "". if ($separada[0] < 10) { $separada[0] = "0" . $actual["login"]. //echo "fallo la nota. } desconectar($link). foreach ($alumnos as $actual) { $sql = "SELECT justificada FROM faltaasistencia WHERE asignatura='$codasig' and fecha='$fecha_mysql' and alumno='" . //echo " sql vale: $sql_nota <br>\n". $nuevafecha = $separada[2] . $i++. } desconectar($link). $separada = explode("-". } else { $fecha_mysql = "0000-00-00". return $tabla. //echo "login vale : " . $fecha).

$codasig.S.`faltaasistencia` (`alumno`. mysql_error($link) . entonces el alumno ya habia sido //puntuado. .`asignatura` = $codasig AND `faltaasistencia`. $resultado = consulta ($sql. } function poner_falta($login. mysql_errno().`faltaasistencia` SET `justificada` = '$just' WHERE CONVERT(`faltaasistencia`. } Desconectar ($link). $codasig. por tanto deberemos actualizar la nota. $fecmysql = cambiar_a_date($fecha). mysql_error($link) . } } } else { echo "ocurrio algo raro: " } Desconectar ($link). $sql= "DELETE FROM `faltaasistencia` WHERE CONVERT(`faltaasistencia`. Proyecto Final de Carrera $sql = "INSERT INTO `webcole`. '$just'). echo "error: " . $fecha) { echo " se esta quitando una falta.`asignatura` = $codasig AND `faltaasistencia`. } function quitar_falta($login.`alumno` USING utf8)= '$login' AND `faltaasistencia`.".`alumno` USING utf8) = '$login' AND `faltaasistencia`. echo "login vale: $login<br>\n".P. de Informática Aplicada (U.T. $sql_actualizar = "UPDATE `webcole`.V.`fecha` = '$fecha_mysql'". // echo "nueva fecha vale: $nuevafecha<br>\n". mysql_error($link) . $fecha. mysql_errno(). mysql_errno(). //el login del profesor lo obtenemos directamente de la sesion. "<br>\n". " codigo: " . $link). $link). `justificada`) VALUES ('$login'..) 223 . $fecha_mysql = cambiar_a_date($fecha).= $separada[0]. " codigo: " . '$fecmysql'. $link = Conectar(). if ( !$resultado ) { echo "Se produjo un error cuando se estaba eliminado la falta de asistencia del alumno $login<br>\n". $just) { $link = Conectar(). //si el error devuelto es CLAVE_REPETIDA.<br>\n".`fecha` = '$fecmysql' LIMIT 1. " codigo: " . if ( !$res_actualizar ) { echo "Se produjo un error cuando se estaba actualizando la nota del alumno $login<br>\n". '$codasig'.". E. return $result.. `asignatura`. if ( mysql_errno() == CLAVE_REPETIDA) { echo "actualizando la falta del login: $login<br>\n". } //Funcion que devuelve los grupos que son tutorizados por un profesor. $res_actualizar = consulta ($sql_actualizar. mysql_error($link) . `fecha`. echo "error: " . $link). return $nuevafecha. $result = consulta ($sql.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 . if (!$result) { echo "error: " .

delegado FROM grupo WHERE tutor='$login' and curso='$curso' and letra='$letra'". } // //El formato del codgrupo es "curso-letra" function obtener_datos_grupo ($codgrupo) { $curso = substr($codgrupo. delegado FROM grupo WHERE tutor='$login'". $link).S. return.P. } */ $link = Conectar(). $tabla[$i]["letra"] = $fila["letra"]. $login = $_SESSION["id"]. //$tabla[$i]["delegado"] = $fila["delegado"]. //ejecutamos la consulta $resultado = consulta ($sql. //ejecutamos la consulta $resultado = consulta ($sql. $i++. $i++. $letra. $tabla[$i]["codgrupo"] . } } else { echo "Se produjo un error al acceder a las notas del alumno<br>\n". } desconectar($link). //ejecutamos la consulta $resultado = consulta ($sql. 1). $sql = "SELECT curso. //$tabla[$i]["aula"] = $fila["aula"]. //echo "curso vale: $curso<br>\n". aula. $link = Conectar(). echo "grupo vale:" . $tabla[$i]["aula"] = $fila["aula"]. if ($resultado) { if ($fila = siguiente($resultado)) { $tabla["codgrupo"] = $curso . 1).2. $tabla[$i]["delegado"] = $fila["delegado"]. $link). "-" .V. $tabla[$i]["letra"] = $fila["letra"].0. $letra = substr($codgrupo.T. if ($resultado) { while ($fila = siguiente($resultado)) { $tabla[$i]["curso"] = $fila["curso"]. $sql = "SELECT curso. //echo "letra vale: $letra<br>\n". } } else { echo "Se produjo un error al acceder a las notas del alumno<br>\n". $fila["letra"]. letra. $sql = "SELECT curso.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"]. "<br>\n". E. $link). $tabla[$i]["curso"] = $fila["curso"]. return. letra. if ($resultado) { while ($fila = siguiente($resultado)) { $tabla[$i]["codgrupo"] = $fila["curso"] . return $tabla. letra FROM grupo WHERE tutor='$login'". "-" . aula.) 224 . de Informática Aplicada (U. /* $link = Conectar().

echo "letra vale: $letra<br>\n". return. usu. 1). nombre. while ($fila_alu = siguiente($res_alumno)) { echo "login vale: " .) 225 . $tabla[$i]["nombre"] = $fila_alu["nombre"].T. $tabla["del_ape2"] = "". echo "sql vale: $sql_alumnos<br>\n". $fila["delegado"] . $tabla["del_ape1"] = "". $fila["aula"] . Proyecto Final de Carrera if (isset($fila["delegado"])) { $sql_alumnos = "SELECT usu.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. 1). login FROM usuario usu.apellido1. } desconectar($link).login FROM usuario usu WHERE usu. $login = $_SESSION["id"].login='" .0. // echo "grupo vale:" . $tabla[$i]["login"] = $fila_alu["login"]. usu. echo "curso vale: $curso<br>\n". $tabla[$i]["apellido1"] = $fila_alu["apellido1"]. } else { echo "fila nula<br>\n". $tabla["del_ape2"] = $fila_alu["apellido2"]. $link = Conectar(). $res_alumno = consulta ($sql_alumnos. $tabla[$i]["apellido2"] = $fila_alu["apellido2"]. $tabla[$i]["codgrupo"] . $link). $i++. echo "login vale: " . $fila["aula"]. $fila["delegado"]. login=usu.letra='$letra' and alu. $tabla["del_ape1"] = $fila_alu["apellido1"]. usu. } } else { $tabla["del_nombre"] = "". $i = 0. } //echo "aula vale " .curso='$curso' and alu. usu. $link). "'". E. usu.$fila_alu["login"]. "<br>\n".$fila_alu["usu. $res_alumno = consulta ($sql_alumnos. usu.login"]. return $tabla. $letra."<br>\n".apellido2.nombre.P.2. alumno alu WHERE alu. } function obtener_alumnos_grupo($codgrupo) { $curso = substr($codgrupo. } } else { echo "Se produjo un error al acceder a las notas del alumno<br>\n".login ORDER BY usu.S. if ($res_alumno) { echo "dentro if<br>\n". if ($fila_alu = siguiente($res_alumno)) { $tabla["del_nombre"] = $fila_alu["nombre"].apellido1".apellido1."<br>\n". $letra = substr($codgrupo.apellido2. "<br>\n".V. de Informática Aplicada (U. //obtener los datos de los alumnos que estan en ese curso y letra $sql_alumnos = "SELECT usu.

if($fechaComparar >= date("Ymd")) for($i=0. $alumno) { $curso = substr($codgrupo. while($row = siguiente($resultado)) echo 'Bienvenido ' . } desconectar($link). $link). function rellenar_eventos_curso() { $conn = Conectar().$conn). echo mysql.sacarFecha($row[ "fecha"]). $i<3 && $i<numeroFilas($res). $fechaComparar = "".php'>Cerrar E.S.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 ". //devolver ok o ko } " codigo: " ." . "NULL") == 0) { $sql = "UPDATE `webcole`." </p> ". return $result. desconectar($dp).P. $_SESSION["id"] . de Informática Aplicada (U.tohtml($row["descripcion"]).`curso` USING utf8) = '$curso' AND CONVERT(`grupo`. while($row = siguiente($res)) { $fecha=split("-".`letra` USING utf8) = '$letra' LIMIT 1.T." </span>".$fecha[1]. } function hacer_delegado($codgrupo.$fecha[0].$fecha[2].`curso` USING utf8) = '$curso' AND CONVERT(`grupo`. '"'. } else { $sql = "UPDATE `webcole`. } $link = Conectar(). echo "<br/>\n<a href='/webcole/cerrar_sesion. $result = consulta ($sql.$i++) echo "<p><span class='fechaNoticia'>".V.0. if (!$result) echo "error: " . $dp).`grupo` SET `delegado` = NULL WHERE CONVERT(`grupo`. $sql = 'SELECT * FROM usuario WHERE login ="' . 1). return $tabla.) 226 . mysql_error($link) .`letra` USING utf8) = '$letra' LIMIT 1. $row['nombre']. } function bienvenida() { //include("bd. if (strcmp ($alumno. $res=consulta($sql.php"). $dp = Conectar(). $letra = substr($codgrupo.errno()." . Desconectar ($link). mysql_errno().2. $sql="SELECT * FROM evento WHERE titulo = 'Curso' ORDER BY fecha". 1). $resultado = consulta($sql. } desconectar($conn).`grupo` SET `delegado` = '$alumno' WHERE CONVERT(`grupo`.sacarFecha($row["fecha"])).

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

"'".dtd"> <html xmlns="http://www.php"). tohtml($row[ 'apellido2']) .T. echo tohtml($row['apellido1']) . ?></td> <td colspan="2" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso().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.php">Faltas asistencia </a>< /li> <li><a href="/webcole/Profesor_instalaciones./js/fecha. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. $row = siguiente($resultado).php">Equipamientos</a>< /li> <li><a href="/webcole/Profesor_tablon.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".php">Instalaciones </a> </li> <li><a href="/webcole/Profesor_equipaciones.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.0 Strict//EN" "http://www.js"> </script> <link href="css/principal.w3.</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp. " .php">Profesores</a></li> <li><a href="/webcole/Profesor_notas. $_SESSION[ "id"] . desconectar($conn). font-weight: bold. de Informática Aplicada (U.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.</td> <td colspan="2" class="titulo">&nbsp. org/TR/xhtml1/DTD/xhtml1-strict. " " .P.php". $sql = "SELECT * FROM usuario WHERE login = '" . $resultado = consulta($sql.php">Tabl&oacute. ?> </td> E.Vicente Sancho Guijarro Proyecto Final de Carrera intranetProfe.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ".css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .w3.</td> </tr> <tr> <td><?php bienvenida().) 228 .S."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. font-size:18px'> Intranet Profesor </p> <p> <?php //include("bd." class="logo">&nbsp. $conn = Conectar(). ?> </p> </td> <td class="general">&nbsp. $conn).php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.</td> </tr> <tr> <td class="fecha">&nbsp. tohtml($row['nombre']).

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

getElementById("asignatura").php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). ?> <?php //leemos los datos recibidos (si se reciben) $codasig = $_REQUEST["codasig"]."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.dtd"> <html xmlns="http://www.</td> </tr> <tr> <td class="fecha">&nbsp. } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.T.location. } } if (!$encontrado) { $codasig = -1.php?codasig=' + id . } --> </script> <link href="css/principal. var id = document.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.) 230 .php">Notas</a></li> E.value.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos. document.css" rel="stylesheet" type="text/css" /> <link href="css/principal./js/fecha.idasig.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".P.css" rel="stylesheet" type="text/css" /> <link href="css/profesor.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.$codasig ) == 0) { $encontrado = true. $asignaturas = asignaturas_profesor().value.V.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.</td> <td colspan="2" class="titulo">&nbsp. foreach ($asignaturas as $actual ) { if ( strcmp($actual["codasig"]. org/TR/xhtml1/DTD/xhtml1-strict. if (!isset($codasig)) { $codasig = -1.php".href='/webcole/Profesor_alumnos.asignatura. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.idasig. } else { $encontrado = false.0 Strict//EN" "http://www.S.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.js"> </script> <script type="text/javascript" > <!-function buscarasignatura() { //var id = document." class="logo">&nbsp.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_alumnos. de Informática Aplicada (U.

">Asignaturas disponibles <select name="idasig" onchange="javascript:buscarasignatura(). $clase = $datos["aula"].V.</div></td> </tr> <tr> E.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.</div></td> <td style="width: 25%.digo Asignatura </strong></div> </td> <td style="width: 25%. font-size:18px'> Alumnos del profesor </p> <div style="text-align: center." class='cabecera'><div style="text-align: right" ><strong>Nombre Asignatura </strong>< /div></td> <td style="width: 25%." >< ?php echo $codigo ?>&nbsp. de Informática Aplicada (U. $curso = $datos["curso"]."> <p style='text-align: center ." class='cabecera'><div style="textalign: right. } //Obtenemos los datos necesarios para rellenar la tabla if ( $codasig <= 0 ) { $nombre = "----". $letra = "-". "</option>\n". $curso = "----". } else { //recuperamos los datos $datos = obtener_datos_asignatura($codasig). $horario = "----".T. $codigo = "----".P. $clase = "----"."><div style="text-align: center." ><strong>C&oacute. $asig["codasig"]."><?php echo $nombre ?>&nbsp.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.) 231 .S. "</option>\n".n de anuncios </a></li> </ul> </td> <td class="general" style="text-align: center.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.php">Tabl&oacute. $nombre = $datos["nombre"]. $alumnos = obtener_alumnos_asignatura($codasig). tohtml($asig["nombre"]) ."> <option value='-1'>Selecciona una asignatura</option> <?php foreach ($asignaturas as $asig) { if ( $codasig == $asig["codasig"]) echo "<option value='" . else echo "<option value='" . $horario = $datos["horario"].height: 100%" border="1" class="general"> <tr> <td style="height: 39px. width: 100%."><div style="text-align: center. "' selected='selected'>" . $letra = $datos["letra"]. $codigo = $codasig. } ?> </select> </p> </form> <br/> <table 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 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. width: 25%. font-weight: bold. "'>" . $asig["codasig"]. tohtml($asig["nombre"]) ."> <form method='get' action='#' id="asignatura"> <p style="font-weight: bold.

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

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.) 233 .' class='cabecera'>E-mail</td> 20%.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas. de Informática Aplicada (U.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.js"> </script> </head> <body onload="javascript:displayTime(). echo "<tr >\n".php">Tabl&oacute. echo " <td style='width: apellido</td>\n".&nbsp." class="logo">&nbsp.</td> <td colspan="2" class="titulo">&nbsp."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. org/TR/xhtml1/DTD/xhtml1-strict.php".w3.P. echo " <td style='width: apellido</td>\n".css" rel="stylesheet" type="text/css" /> <link href="css/profesor.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.0 Strict//EN" "http://www.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_profesores.</td> </tr> <tr> <td class="fecha">&nbsp.css" rel="stylesheet" type="text/css" /> <link href="css/principal. echo " <td style='width: \n".php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.' class='cabecera'>Tutorias< $i = 0./js/fecha. echo " <td style='width: \n".' class='cabecera'>Nombre</td> 20%.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.dtd"> <html xmlns="http://www. foreach ($profesores as $actual) E.w3.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.' class='cabecera'>Primer 20%. echo "</tr>\n".V.blico Emilio Lluch&nbsp. 20%. echo " <td style='width: /td>\n".n de anuncios </a></li> </ul> </td> <td class="general"><p style="font-weight: bold.T.</p> <table border="1" style='width: 100%.S.'> <?php $profesores = listado_profesores().">Profesores del Colegio P&uacute.' class='cabecera'>Segundo 20%.

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

poner_nota($login. $datos). = $_REQUEST["trimestre"]. $nota).php"). $codasig.".org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.css" rel="stylesheet" type="text/css" /> </head> <body></body></html> E. $login = $aux[1]. $lognota[1]). $codasig $trimestre $datos = $_REQUEST["asignatura"]. $aux = explode(":". //echo "Login vale: $login. foreach ($alu_notas as $actual) { if(strlen($actual) > 1) { $lognota = explode("./js/fecha. = $_REQUEST["datos"]. $trimestre. $lognota[0]). $_REQUEST["trim"].V. $_REQUEST["login"].dtd"> <html xmlns="http://www. //separamos los alumnos (con sus notas) unos de otros $alu_notas = explode( "|" . org/TR/xhtml1/DTD/xhtml1-strict. if (isset($codasig) && isset($trimestre) && isset($datos) ) { //echo "datos vale: $datos<br>\n". Nota vale: $nota<br>\n".S.P.js"> </script> <link href="css/principal.Vicente Sancho Guijarro Proyecto Final de Carrera guardar_notas.php"). $nota). } } //header("Location: Profesor_notas. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.URL=Profesor_notas. charset=iso-8859-1" /> <META HTTP-EQUIV="Refresh" CONTENT="0. } else { header("Location: Profesor_notas. $codasig.?>&codasig=<? echo $codasig.php".w3. $aux = explode(":". de Informática Aplicada (U.) 235 .w3. $actual). $_REQUEST["nota"].php?trimestre=<? echo $trimestre. $trimestre.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".T.0 Strict//EN" "http://www. $nota = $aux[1]. if (isset($codasig) && isset($trimestre) && isset($login) && isset( $nota)) { poner_nota($login.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.?>"> <title>CP Emilio Lluch</title> <link href="css/general. } } } else { $codasig $trimestre $login $nota = = = = $_REQUEST["asignatura"].

php">Notas</a></li> <li><a href="/webcole/Profesor_faltas./js/profesor. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.T.S.org/TR/xhtml1/DTD/xhtml1-transitional. w3. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. de Informática Aplicada (U.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.V."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px. } if (!isset($trimestre)) { $trimestre = -1.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.php".php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon. font-weight: bold.js"> </script> <script type="text/javascript" src=".php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. ?> <?php //leemos los datos recibidos (si se reciben) $codasig = $_REQUEST["codasig"]./js/fecha.</td> </tr> <tr> <td class="fecha">&nbsp.dtd"> <html xmlns="http://www.php">Tabl&oacute." class="logo">&nbsp.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_notas.</td> <td colspan="2" class="titulo">&nbsp. font-size:18px'> Notas </p> <div align="center"> <form name='asignatura' method='get' action='#'> <br /> <strong>Asignaturas disponibles</strong> E. } //Si las dos variables estan definidas deberemos buscar los datos que necesitaran.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.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.0 Transitional//EN" "http://www. if (!isset($codasig)) { $codasig = -1.css" rel="stylesheet" type="text/css" /> <link href="css/profesor. $trimestre = $_REQUEST["trimestre"].css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().P.js"> </script> <link href="css/principal.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.w3.) 236 .

$clase = $datos["aula"].T. $asig["codasig"]. } ?> <br /> <br /> <strong>Trimestre por defecto</strong> <select name="trimestre" onchange="javascript:cambio_trimestre(). else echo "<option value='" . $alumnos = obtener_alumnos_asignatura_trimestre($codasig. de Informática Aplicada (U. $codigo = $codasig. text-align: center . $asig["codasig"]. $letra = $datos["letra"]. $i++) { if ( $trimestre == $i) { echo"<option value=\"$i\" selected=\"selected\">$i< /option>\n". } } ?> </select> </form> </div> <br /> <table style='width: 100%. } else { //recuperamos los datos $datos = obtener_datos_asignatura($codasig). height:100%. $curso = "----". tohtml($asig["nombre"]) . font-weight: bold. "</option> \n". text-align:center. $i <= TRIMESTRE. "' selected='selected'>" .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(). $letra = "-". $curso = $datos["curso"].P.V. "'>" . tohtml( $asig["nombre"]) . foreach ($asignaturas as $asig) { if ( $codasig == $asig["codasig"]) echo "<option value='" . $horario = "----". } ?> </select> <? //Obtenemos los datos necesarios para rellenar la tabla if ( $codasig <= 0 ) { $nombre = "----". "</option>\n".S."> <? echo"<option value=\"-1\">Trimestre</option>\n". $horario = $datos["horario"]. $clase = "----". $codigo = "----".' class="cabecera"> Nombre Asignatura </td> <td style='width: 25%.' border="1" class="general"> <tr> <td style='width: 25%. '> E. $trimestre). for ($i = 1."> <option value='-1'>Selecciona una asignatura</option> <?php $asignaturas = asignaturas_profesor(). $nombre = $datos["nombre"]. } else { echo"<option value=\"$i\" >$i</option>\n".) 237 . text-align: right .

text-align: center . Guardar </td> <!--<td style='width:13%.' class="cabecera"> Horario </td> <td style='width: 25%.' class="cabecera"> C&oacute.' class="cabecera"> Primer Apellido </td> <td style='width: 25%. text-align: right . text-align: center . font-weight: bold.digo Asignatura </td> <td colspan="3" style='width: 25%. font-weight: bold. </td> </tr> <tr> <td style='width: 25%.' class="cabecera" colspan="2"> Nota &nbsp. text-align: center . foreach ($alumnos as $actual) { E. text-align: right .' class="cabecera"> Segundo Apellido </td> <td style='width: 25%.V. font-weight: bold.) 238 . '> <?php echo $letra ?>&nbsp. </td> <td style='width: 25%. </td> <td style='width: 25%. text-align: center . '> <?php echo $codigo ?>&nbsp. text-align: right .' class="cabecera"> Letra </td> <td colspan="3" style='width: 25%. text-align: center . font-weight: bold.T.P.' class="cabecera"> Guardar </td> --> </tr> <?php if (isset($alumnos)) { $i = 0. '> <?php echo $clase ?>&nbsp. text-align: center . text-align: center . font-weight: bold.' class="cabecera"> Nombre </td> <td style='width: 25%. </td> </tr> <tr> <td style='width: 25%. text-align: center . font-weight: bold. 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. '> <?php echo $horario ?>&nbsp. </td> <td style='width: 25%. de Informática Aplicada (U. text-align: center . '> <?php echo $curso ?>&nbsp. text-align: center . </td> </tr> <tr> <td height="39" colspan="6"> <div align="center"><strong>Alumnos</strong></div> </td> </tr> <tr> <td style='width: 25%.' class="cabecera"> Curso </td> <td style='width: 25%. font-weight: bold. text-align: right . font-weight: bold. font-weight: bold.' class="cabecera"> Clase </td> <td colspan="3" style='width: 25%.S. text-align: right .

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

w3.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas. } //Si las dos variables estan definidas deberemos buscar los datos que necesitaran.php". $asignaturas = asignaturas_profesor(). $asignaturas)) { $codasig = -1. } else { if (!array_key_exists($codasig.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas."> <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.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.V.php">Instalaciones E.dtd"> <html xmlns="http://www./js/fecha.org/TR/xhtml1/DTD/xhtml1-transitional." class="logo">&nbsp. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.T. ?> <?php //leemos los datos recibidos (si se reciben) $codasig = $_REQUEST["codasig"].0 Transitional//EN" "http://www.</td> <td colspan="2" class="titulo">&nbsp. $fecha = $_REQUEST["fecha"].css" rel="stylesheet" type="text/css" /> <link href="css/profesor./js/profesor.js"> </script> <script type="text/javascript"> </script> <link href="css/principal. if (!isset($codasig)) { $codasig = -1. w3.) 240 .php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.</td> </tr> <tr> <td class="fecha">&nbsp. } } if (!isset($fecha)) { $fecha = "".css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().css" rel="stylesheet" type="text/css" /> <link href="css/principal.S.js"> </script> <script type="text/javascript" src=". 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.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_faltas.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.P.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.

tohtml($asig["nombre"]) . "</option>\n". $letra = $datos["letra"]. } ?> <br /> <br /> <strong>Fecha de la falta </strong> <input type='text' value='<? echo $fecha. ?>' readonly="readonly" size='10' name='fecha' onfocus="javascript:buscarasignaturafaltas(). $asig["codasig"]. text-align:center. $curso = $datos["curso"]. $clase = $datos["aula"]. "'>" . de Informática Aplicada (U. $asig["codasig"]. $letra = "-".php">Tabl&oacute. $fecha) .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. $codigo = $codasig.'asignatura'. font-weight: bold.'fecha')" /> </form> </div> <br/> <table style='width: 100%. if ( strlen($fecha) > 0 ) $alumnos = obtener_faltas_alumnos ($codasig. $clase = "----".V. "' selected='selected'>" . tohtml( $asig["nombre"]) . $horario = $datos["horario"].P.) 241 .T. $horario = "----". $codigo = "----". "> <option value='-1'>Selecciona una asignatura</option> <?php foreach ($asignaturas as $asig) { if ( $codasig == $asig["codasig"]) echo "<option value='" .' E. } else { //recuperamos los datos $datos = obtener_datos_asignatura($codasig). } ?> </select> <? //Obtenemos los datos necesarios para rellenar la tabla if ( $codasig <= 0 ) { $nombre = "----".n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center . height:100%. $nombre = $datos["nombre"]. $curso = "----". else echo "<option value='" .php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.S. 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(). "</option> \n". " /> <input type='button' value='Selecciona Dia' onclick="muestraCalendario(''.

text-align: center . text-align: center . text-align: right . font-weight: bold. font-weight: bold. '>Sel</td> --> <td style='width:20%. text-align: center . text-align: center . font-weight: bold.</td> <td style='width:20%.V.' colspan="3" class='cabecera'>C&oacute. text-align: center .P.'>Sel</span> <span style='width:20%. text-align: center .</td> <td style='width:10%. echo"<tr class='fila" . text-align: left .' class='cabecera'>Segundo Apellido </td> <td style='width:20%. text-align: center . de Informática Aplicada (U. text-align: right . text-align: center .'>Quitar Falta< /span> </td> <!-. text-align: center . ' >&nbsp.</td> <td style='width:20%. 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 border="1"> <tr> <td style='width:20%.'> Quitar Falta </td> --> </tr> <?php if (isset($alumnos)) { $i = 0. ' ><?php echo tohtml( $nombre) ?></td> <td style='width:20%.' class='cabecera'>Horario</td> <td style='width:20%. text-align: center . text-align: right . text-align: center .<td style='width:5%. ' >&nbsp.' class='cabecera'>Nombre Asignatura </td> <td style='width:20%.'colspan="8"> Alumno</td> </tr> <tr> <!--<td style='width:3%. font-weight: bold. ' >&nbsp.'>Just</span> <span style='width:25%. text-align: center . '><?php echo $horario ?></td> <td style='width:20%. E.'>Fecha</span> <span style='width:5%. font-weight: bold. font-weight: bold. text-align: right . font-weight: bold. font-weight: bold.'> Poner Falta </td> <td style='width:10%. text-align: center .</td> </tr> <tr> <td style=' text-align: center .' class='cabecera'>Curso</td> <td style='width:20%. text-align: center .T.'>Jus. font-weight: bold. '><?php echo $curso ?></td> <td style='width:20%. text-align: center . text-align: right . foreach ($alumnos as $actual) { if (strlen($actual["login"]) > 0) { $resto = $i % 2. text-align: center . text-align: center . ' colspan="3"><?php echo $codigo ?></td> </tr> <tr> <td style='width:20%.) 242 . text-align: center . font-weight: bold. 'colspan="3" class='cabecera'>Clase</td> <td style='width:20%.</td> </tr> <tr> <td style='width:20%. ' class='cabecera'> <span style='width:5%. text-align: center . 'colspan="3"><?php echo $clase ?>&nbsp. 'colspan="3"><?php echo $letra ?>&nbsp. $resto . font-weight: bold.S. font-weight: bold.</td> <td style='width:20%.' class='cabecera'>Nombre</td> <td colspan="5" style='width:40%. font-weight: bold.' class='cabecera'>Primer Apellido</td> <td style='width:20%.'>Poner Falta< /span> <span style='width:25%. "'>\n".digo Asignatura</td> <td style='width:20%. text-align: right . text-align: center . 'colspan="3" class='cabecera'>Letra</td> <td style='width:20%.

'> " . text-align: left . "_2' action='poner_faltas. text-align: center . text-align: center . tohtml( $actual["nombre"]). echo" <td style='width:20%. "' action='poner_faltas. tohtml($actual["login"]). if ($actual["justificada"] != 0 ) { echo "checked=\"checked\" E.php'>\n <input type=\"checkbox\" name=\"seleccionado\" />\n <input type=\"checkbox\" name=\"checkbox\" ".'> " .'><input type=\"checkbox\" name=\"checkbox\" ". $actual["fecha"].php'> <span style='width:20%.P. " </td>\n".T. echo" <td style='width:20%.'> <form method='get' name='alumno_" ." '/></span> <span style='width:20%. text-align: center . text-align: center . $actual["login"] . tohtml($actual["login"]).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%. "'). $actual["login"] .'>< form method='get' name='alumno_" . '> <form method='get' name='alumno_" . text-align: center .\"/> < /form></td>\n". $actual["login"] .V.S. text-align: center . "\"). de Informática Aplicada (U. text-align: center .'><input type=\"checkbox\" name=\"seleccionado\" /></span> <span style='width:20%. "\"). echo" <td style='width:20%. $actual["login"] . tohtml($actual["apellido1"]) .tohtml( $actual["login"]). text-align: center .'> <form method='get' name='alumno_" . echo" <td style='width:10%.'>< form method='get' name='alumno_" . if ($actual["justificada"] != 0 ) { echo "checked=\"checked\" onchange=\"javascript:cambio('" . tohtml($actual["apellido2"]) . $actual["login"] . '/>\n <input type='hidden' name='cambiado' value='false'/> <input type='hidden' name='borrar' value='false'/> <input type='hidden' name='login' value='" . "_1' action='poner_faltas. " </div></td>\n". $actual["login"] . text-align: center . } else { echo " onchange=\"javascript:cambio('" . */ echo" <td colspan=\"5\" style='width:40%.php'>\n". " </td>\n". "').'><input type='text' name='fecha' size='6' value='". "_3' action='poner_faltas.) 243 .'/>\n</td>\n". echo" <td style='width:10%. tohtml($actual["nombre"]). "'/> <input type='hidden' name='asignatura' value=''/> \n </td>\n". echo" <td style='width:5%. /*echo" <td style='width:10%. $actual["login"] . " </td>\n".'> " . } echo" <input type='button' name='Submit' value='Poner Falta' onclick='javascript: enviar_alumno_faltas(\"" . //echo" <td><div align=\"center\"> " .\"/> </td>\n".'>< input type='button' name='Submit' value='Quitar Falta' onclick='javascript:quitar_falta(\"" .php'>\n // </form></td> ". "' action='poner_faltas.php'>\n </form></td>\n". echo"</form>\n". text-align: center .

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

V. de Informática Aplicada (U.) 245 . "true")==0) { quitar_falta($login. $actual).php". $codasig. if (!isset($_REQUEST["checkbox"])) { $just = 0.T. $just). $codasig. Nota vale: $nota<br>\n". $fecha. } else { $just = 1. $just). $_REQUEST["checkbox"]. } else { poner_falta($login. if (strcmp($aux[1]. $codasig.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. $logfalta[1]). if (strcmp($borrar. $_REQUEST["login"]. } else { poner_falta($login. //separamos los alumnos ( unos de otros $alu_faltas = explode( "|" . foreach ($alu_faltas as $actual) { if(strlen($actual) > 1) { $logfalta = explode(". $logfalta[0]). "false") == 0) { $just = 0.Vicente Sancho Guijarro Proyecto Final de Carrera poner_faltas.P. "true")==0) { quitar_falta($login.S. $fecha).". $_REQUEST["datos"]. $aux = explode(":". $_REQUEST["fecha"]. $fecha. } if (isset($codasig) && isset($fecha) && isset($login)) { if (strcmp($borrar. } } else E. $_REQUEST["borrar"]. } } } } else { $codasig $fecha $login $just = = = = $_REQUEST["asignatura"]. $fecha). $aux = explode(":". } else { $just = 1. } //echo "Login vale: $login. if (isset($codasig) && isset($fecha) && isset($datos) ) { //echo "datos vale: $datos<br>\n". $_REQUEST["fecha"]. $codasig $fecha $datos $borrar = = = = $_REQUEST["asignatura"]. $login = $aux[1]. $datos). $codasig.

w3.php").css" rel="stylesheet" type="text/css" /> </head> <body> <p style='text-align: center .V.URL=Profesor_faltas. org/TR/xhtml1/DTD/xhtml1-strict. Proyecto Final de Carrera ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.dtd"> <html xmlns="http://www.P.php").0 Strict//EN" "http://www. </a> </body></html> E. font-size:18px'> Poner faltas </p> Para volver a la pantalla de poner faltas de asistencia pulsa <a href="Profesor_faltas.php"> aqu&iacute.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". } } //header("Location: Profesor_notas./js/fecha. font-weight: bold.S.?>&fecha=<? echo $fecha.js"> </script> <link href="css/principal. de Informática Aplicada (U.w3.?>"> <title>CP Emilio Lluch</title> <link href="css/general.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 { header("Location: Profesor_faltas.php?codasig=<? echo $codasig. echo "header<br>\n".org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. charset=iso-8859-1" /> <META HTTP-EQUIV="Refresh" CONTENT="0.) 246 .

font-size:18px'> Instalaciones </p> <table border="1"> <?php $ins = listado_reservas_instalaciones().0 Transitional//EN" "http://www. de Informática Aplicada (U./js/fecha.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.T. } else { echo "<tr>\n".</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.</td> <td colspan="2" class="titulo">&nbsp.' class='cabecera'> Instalaci&oacute.dtd"> <html xmlns="http://www.) 247 .V.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". font-weight: bold.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). 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. E.< /td>\n"." class="logo">&nbsp.' class='cabecera'> Proposito</td>\n".n</td>\n".' class='cabecera'>Fecha< /td>\n".php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.org/TR/xhtml1/DTD/xhtml1-transitional.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .' class='cabecera'>Normas< /td>\n".php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.js"> </script> <link href="css/principal. echo " <td style='width: 140px.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.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_instalaciones.S.php".php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon. if ($ins == null) { echo "<tr><td><b>No hay instalaciones reservadas</b></td>< /tr>\n".P.</td> </tr> <tr> <td class="fecha">&nbsp. echo " <td style='width: 100px. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. echo " <td style='width: 425px. echo " <td style='width: 80px. w3.css" rel="stylesheet" type="text/css" /> <link href="css/profesor. echo " <td style='width: 90px.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.php">Tabl&oacute.w3.' class='cabecera'>&nbsp.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.

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

text-align: left.S.js"> </script> <script type="text/javascript" src=". '<?php echo strtolower(INST). text-align: right." class="logo">&nbsp.php". font-size:18px'> Reservar de Instalaciones </p> <form method="get" action="/webcole/Profesor_reserva.</td> <td colspan="2" class="titulo">&nbsp.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.js"> </script> <link href="css/principal. de Informática Aplicada (U.) 249 .css" rel="stylesheet" type="text/css" /> <link href="css/principal. font-weight: bold. "' />".Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_reservar_instalacion. height: 284px.V.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">Notas</a></li> <li><a href="/webcole/Profesor_faltas. width: 700px.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.0 Transitional//EN" "http://www.php">Tabl&oacute.w3.n</span></td> <td style="width: 400px. ?> <table style="text-align: left.</td> </tr> <tr> <td class="fecha">&nbsp. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general." border="0" cellpadding="2" cellspacing="2"> <tbody> <tr> <td style="width: 300px./js/fecha.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). INST ."> <option value='-1'>Selecciona una instalaci&oacute.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.T."> Seleccionauna instalaci&oacute.dtd"> <html xmlns="http://www./js/reservas.css" rel="stylesheet" type="text/css" /> <link href="css/calendario."><select name="iditem" onchange="javascript:redirigir('<?php echo PROFE.php" name="reservar"> <?php echo "<input type='hidden' name='item' value='" . ?> '.org/TR/xhtml1/DTD/xhtml1-transitional. w3. text-align: right.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".P."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp."><span style="font-weight: bold. n</option> <?php E. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ?>').

"</option>\n".V."><?php require_once ("calendario_ins. "-" . } echo "<input type=\"hidden\" name=\"dia\" value=''/>\n". $actual[ "instalacion"] . $ins = listado_instalacion(). $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"]. echo "<input type=\"hidden\" name='mes' value='$mes'/> \n". $tiempo_actual). $dia = $_GET["dia"]. $ano = $_GET["nuevo_ano"]. $mes . $actual["instalacion"] . }else { //echo "http definidos<br>\n". //echo "id vale: $iditem\n".php"). $dia.S. $dia. $ano = date("Y". $tabla = fecha_reservas($iditem. echo "<input type=\"hidden\" name='dia_c' value='$dia'/> \n". //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". text-align: right. "' selected='selected'>" . $actual[ "idinstalacion"].T. $tiempo_actual = time(). $actual[ "idinstalacion"]. if (!isset($tabla)) { //utilizamos una variable no inicializada //mostrar_calendario tiene en cuenta si esa variable E.P. } if (!isset($dia)) { $dia=date("d"). echo "<input type=\"hidden\" name='anyo' value='$ano'/> \n". INST).) 250 . $mes = date("n". if (!isset($iditem)) $iditem = -1. $dia=date("d"). } else { echo "<option value='" . $mes . "-" ."><span style="font-weight: bold. "-" . $mes = $_GET["nuevo_mes"]. $fecha=$ano . } if (!isset($ano)) { $ano = date("Y". $tiempo_actual). } if (!isset($mes)) { $mes = date("n". de Informática Aplicada (U. $tiempo_actual). //echo "id vale: $iditem\n". $fecha=$ano . ">Selecciona una fecha< /span></td> <td style="width: 400px. "'>" . "-" . } } ?> </select></td> </tr> <tr> <td style="width: 200px. "</option>\n". foreach ($ins as $actual) { if ($actual["idinstalacion"] == $iditem) { echo "<option value='" .

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

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

dtd"> <html xmlns="http://www.js"> </script> <link href="css/principal.V.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos.php">Tabl&oacute.P.</td> <td colspan="2" class="titulo">&nbsp. E. de Informática Aplicada (U. } else { $url = "/webcole/Profesor_equipaciones.</td> <td colspan="2" class="fecha"><div id="campoHora">&nbsp. redirigir().css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". INST)==0) { $url = "/webcole/Profesor_instalaciones.php">Instalaciones </a> </li> <li><a href="/webcole/Profesor_equipaciones.0 Strict//EN" "http://www. org/TR/xhtml1/DTD/xhtml1-strict.) 253 ./js/fecha.w3.php". echo "<br>\n". charset=iso-8859-1" /> <?php //Ruta de retorno que utilizaremos aqui si todo fue bien if (strcmp($item."> <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.</td> </tr> <tr> <td class="fecha">&nbsp.php".w3. } ?> <title>CP Emilio Lluch</title> <link href="css/general. } else { $url_reserva = "/webcole/Profesor_reservar_equipacion.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.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.URL=$url\">\n"." class="logo">&nbsp.S.n de anuncios </a></li> </ul> </td> <td class="general"> <?php //Ruta de retorno que utilizaremos aqui si todo fue bien if (strcmp($item.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php">Equipamientos</a>< /li> <li><a href="/webcole/Profesor_tablon. } if ( $es_valido ) { echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0.php">Profesores</a></li> <li><a href="/webcole/Profesor_notas.T.php".php". } echo "Se han producido los siguientes errores: <br> $error<br> \n".</div></td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe. INST)==0) { $url_reserva = "/webcole/Profesor_reservar_instalacion.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.

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

No v&aacute. No v&aacute. } } else { $error = "Han ocurrido errores en los par&aacute.n de la reserva <br>\n". // $fecha = urldecode($_REQUEST["fecha"]).P. $iditem. $es_valido = false. } else { $url = "/webcole/Profesor_equipaciones. charset=iso-8859-1" /> <?php if ($es_valido) echo "<meta http-equiv=\"refresh\" content=\"5. $iditem = $_REQUEST["iditem"].n<br>\n" . $es_valido = false. $login = $_SESSION["id"]. } //ya estara en el formato de mysql. } else { $error = "Han ocurrido problemas durante la anulaci&oacute.w3.0 Strict//EN" "http://www.lida<br>\n". de Informática Aplicada (U. } if (strcmp($item. $es_valido = false.php". $item = $_REQUEST["item"].org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. //echo $error. ?> <title>CP Emilio Lluch</title> <link href="css/general.w3. } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. $error. INST) == 0 ) { $url = "/webcole/Profesor_instalaciones. } if ($es_valido) { $resultado = anular_reserva($login.lido<br> \n".V. $es_valido = false.n.URL=$url\" />\n". $item). if ( !isset($login)) { header("Location: /webcole/prohibido. if ( !isset($fecha)) { $error . $fecha.T.php").Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_anular_reserva.="Error en la Fecha.dtd"> <html xmlns="http://www.="Error en el codigo de instalaci&oacute. } if ( !isset($iditem) || $iditem < 1 ) { $error .css" rel="stylesheet" type="text/css" /> E. if ($resultado) { //echo "Reserva correctamente anulada<br>\n".php". //si no es correcto sencillamente no se borrara el registro. $es_valido = false.metros de anulaci&oacute.) 255 .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.S. org/TR/xhtml1/DTD/xhtml1-strict. $es_valido = true.php". $error = "".

php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos. } ?> </td> <td class="general">&nbsp.</td> </tr> <tr> <td class="fecha">&nbsp. echo "<p>En 5 segundos ser&aacute."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td style="width: 150px.</td> </tr> <tr> <td><?php bienvenida(). echo "<p>Pulsa <a href=\"$url\"> aqu&iacute.V. ?></td> <td colspan="2" class="noticias"><h3>Eventos del curso </h3> <?php rellenar_eventos_curso().</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp. ?> </td> </tr> </table> </body> </html> E. Si no pulsa".n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .T.n de la reserva".php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.gina de reservas</p>\n".js"> </script> <link href="css/principal./js/fecha.S.</a></p>\n".</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.</td> <td colspan="2" class="titulo">&nbsp.P.s a la p&aacute.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=".</a> para regresar a la p&aacute." class="logo">&nbsp. echo "Errores: $error<br/>\n". echo "<a href=\"$url\"> aqu&iacute.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon. } else { echo "Han ocurrido problemas durante la anulaci&oacute. font-weight: bold. de Informática Aplicada (U.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.gina de instalaciones.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas. font-size:18px'> Anular reservas </p> <?php if ($es_valido) { echo "Reserva anulada correctamente<br/>\n".css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.) 256 .php">Tabl&oacute.

< /td>\n"." class="logo">&nbsp.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores. echo " <td style='width: 80px.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=". if ($ins == null) { echo "<tr><td><b>No hay equipamientos reservados</b></td>< /tr>\n"."> <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.</td> </tr> <tr> <td class="fecha">&nbsp.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas. font-weight: bold.P. font-size:18px'> Equipaciones Reservadas </p> <table border="1"> <?php $ins = listado_reservas_equipaciones().S.' class='cabecera'> Prop&oacute. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1./js/fecha. echo " <td style='width: 140px.css" rel="stylesheet" type="text/css" /> <link href="css/profesor.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().org/TR/xhtml1/DTD/xhtml1-transitional.</td> <td colspan="2" class="titulo">&nbsp. echo "</tr>\n". echo " <td style='width: 100px.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas. echo " <td style='width: 90px.0 Transitional//EN" "http://www.' class='cabecera'>Fecha< /td>\n".w3.sito</td>\n". E.) 257 .n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .php".T.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 <?php require_once "profesor_inc.</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe.V.' class='cabecera'> Equipamiento</td>\n".' class='cabecera'>&nbsp.js"> </script> <link href="css/principal.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos. } else { echo "<tr>\n".org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. de Informática Aplicada (U.' class='cabecera'>Normas< /td>\n". w3.php">Tabl&oacute.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_equipaciones.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon. echo " <td style='width: 425px.

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

js"> </script> <script type="text/javascript" src="./js/reservas. "' />\n". text-align: right."> <option value='-1'>Selecciona una equipaci&oacute.php">Alumnos</a></li> <li><a href="/webcole/Profesor_profesores.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon.T.Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_reservar_equipacion.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.dtd"> <html xmlns="http://www. text-align: left." border="0" cellpadding="2" cellspacing="2"> <tbody> <tr> <td style="width: 300px.) 259 ./js/fecha. font-size:18px'> Reservas de equipaciones </p> <form method="get" action="/webcole/Profesor_reserva.</td> <td colspan="2" class="fecha"> <div id="campoHora">&nbsp.n de anuncios </a></li> </ul> </td> <td class="general"> <p style='text-align: center .php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.org/TR/xhtml1/DTD/xhtml1-transitional.css" rel="stylesheet" type="text/css" /> <link href="css/calendario.php">Tabl&oacute.P. ?>')." class="logo">&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.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos. font-weight: bold.</td> <td colspan="2" class="titulo">&nbsp.0 Transitional//EN" "http://www. ?> <table style="text-align: left.php">Profesores</a>< /li> <li><a href="/webcole/Profesor_notas.php" name="reservar"> <?php echo "<input type='hidden' name='item' value='" .</div> </td> </tr> <tr> <td class="menu"> <ul> <li><a href="/webcole/intranetProfe. EQUIP . width: 700px. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.</td> </tr> <tr> <td class="fecha">&nbsp. de Informática Aplicada (U."> Seleccionauna instalaci&oacute. text-align: right.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime().w3.n</span></td> <td style="width: 400px.V."> <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. '<?php echo strtolower(EQUIP).js"> </script> <link href="css/principal. charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html.S. w3.n< /option> <?php E."><select name="iditem" onchange="javascript:redirigir('<?php echo PROFE.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".php". height: 284px. ?>'."><span style="font-weight: bold.

"</option>\n". $tiempo_actual). } echo "<input type=\"hidden\" name=\"dia\" value=''/>\n". $tiempo_actual). $ano = $_GET["nuevo_ano"].php"). $dia=date("d"). $tiempo_actual = time(). "-" . } if (!isset($ano)) { $ano = date("Y".P. "</option>\n". $ano = date("Y".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"]. if (!isset($iditem)) $iditem = -1. //echo "id vale: $iditem\n". $dia. if (!isset($tabla)) { //utilizamos una variable no inicializada //mostrar_calendario tiene en cuenta si esa variable E."><span style="font-weight: bold. $mes = $_GET["nuevo_mes"]. ">Selecciona una fecha< /span></td> <td style="width: 400px. $mes . echo "<input type=\"hidden\" name='dia_c' value='$dia'/> \n". } if (!isset($mes)) { $mes = date("n". $fecha=$ano . echo "<input type=\"hidden\" name='anyo' value='$ano'/> \n". "'>" . //echo "id vale: $iditem\n". $ins = listado_equipacion(). $actual[ "idequipacion"]. $mes . }else { //echo "http definidos<br>\n".S. "-" .) 260 .V. $tabla = fecha_reservas($iditem. $actual["equipacion"] . $actual[ "idequipacion"]. $dia = $_GET["dia"].T. } if (!isset($dia)) { $dia=date("d"). $fecha=$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". EQUIP). "-" ."><?php require_once ("calendario_ins. echo "<input type=\"hidden\" name='mes' value='$mes'/> \n". de Informática Aplicada (U. "' selected='selected'>" . $mes = date("n". } else { echo "<option value='" . "-" . $actual[ "equipacion"] . } } ?> </select></td> </tr> <tr> <td style="width: 200px. $tiempo_actual). $tiempo_actual). $dia. text-align: right. foreach ($ins as $actual) { if ($actual["idequipacion"] == $iditem) { echo "<option value='" .

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

" ".php"). if($anuncios_mostrados>=3) echo "<td></td>".</div></td> </tr> <tr> <td rowspan="5" class="menu"> <ul> <li><a href="/webcole/intranetProfe.".w3."</span> <span class='anuncioFecha'>. de Informática Aplicada (U.php">Alumnos</a></li> <li><a href="/webcole/profesores.$row[ "fecha"]. echo "<td class='general'><p class='anuncioTitulo'>". charset=iso-8859-1" /> <title>CP Emilio Lluch</title> <link href="css/general.</td> <td colspan="3" class="fecha"><div id="campoHora">&nbsp.php">Profesores</a></li> <li><a href="/webcole/Profesor_notas. while($row = siguiente($anuncios)) { if($anuncios_mostrados >= $anuncios_amostrar) break.0 Strict//EN" "http://www./js/fecha.php">Faltas asistencia < /a></li> <li><a href="/webcole/Profesor_instalaciones.php">Notas</a></li> <li><a href="/webcole/Profesor_faltas.w3.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src=".S.</td> </tr> <tr> <td class="fecha">&nbsp.tohtml( $usuario["apellido1"]).Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_tablon.n de anuncios </a></li> </ul> </td> <td colspan="2" class="general"><h1>Tabl&oacute.V. $anuncios = consulta($sql.) 262 . $sql = "SELECT * FROM anuncio ORDER BY idanuncio DESC". $conn).php">Tabl&oacute. $usuario = siguiente($usuario)."</span> </td>".</td> </tr> <?php include("bd.</p></td> <td rowspan="5" class="general">&nbsp. ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.</td> <td colspan="3" class="titulo">&nbsp. org/TR/xhtml1/DTD/xhtml1-strict.P." <br/>".org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html. $anuncios_mostrados = 0. $sql = "SELECT * FROM usuario WHERE login = '".dtd"> <html xmlns="http://www.tohtml($row["titulo"] ). $anuncios_mostrados++.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().tohtml($usuario["nombre"]).n de anuncios </h1> <p>&nbsp. echo "<span class='anuncioNombre'>".$conn). if($_SESSION["tipo"] != "Profesor") header("Location: prohibido.css" rel="stylesheet" type="text/css" /> </head> <body onload="javascript:displayTime(). $usuario = consulta($sql. echo "<tr>". $anuncios_amostrar = 10.php">Instalaciones </a></li> <li><a href="/webcole/Profesor_equipaciones.js"> </script> <link href="css/principal.php">Inicio</a></li> <li><a href="/webcole/Profesor_alumnos. $conn = Conectar().$row["login"]. E.php")."'".T.php">Equipamientos< /a></li> <li><a href="/webcole/Profesor_tablon."> <table width="100%" border="0" frame="void" rules="none" cellspacing="0"> <tr> <td width="150" class="logo">&nbsp.

120 ?> 121 </td> 122 </tr> 123 </table> 124 </body> 125 </html> E. 80 echo "<td class='general'>&nbsp. 78 echo "<td class='general'><p class='anuncio'><span class='anuncioTexto'> 79 ".Vicente Sancho Guijarro Proyecto Final de Carrera 74 echo "<td class='general'>&nbsp. 116 ?></td> 117 <td colspan="2" class="noticias"><h3>Eventos del curso </h3> 118 <?php 119 rellenar_eventos_curso().</td>".V.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.</td>". 76 77 echo "<tr>". 84 //echo "</tr>". </p></td> 111 <td class="general"></td> 112 </tr> 113 <tr> 114 <td><?php 115 bienvenida(). 82 //echo "<tr>".P. 83 //echo "<td colspan='2' class='general'>&nbsp.php"> 92 <label> 93 T&iacute. 81 echo "</tr>".</td>".) 263 .T.tohtml($row["texto"])."</span></td>". de Informática Aplicada (U. 75 echo "</tr>".S. 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.

'". $num = consulta($sql. if($_SESSION["tipo"] != "Profesor") header("Location: prohibido. '". $insert = consulta($sql. $texto = $_POST["texto"]. '".$_SESSION["id"].V."'. $sql = "INSERT INTO `anuncio` ( `idanuncio` .S. else $idanun = 1. $titulo. $titulo = $_POST["titulo"]. ?> <head> <meta http-equiv="refresh" content="15.) 264 ."'. //echo "id".$texto.$conn). $sql = "SELECT * FROM anuncio ORDER BY idanuncio DESC". if($num = siguiente($num)) $idanun= $num["idanuncio"] + 1.. '"."')". $conn = Conectar(). de Informática Aplicada (U. `titulo` . E..URL=Profesor_tablon.php"). $fecha = date("Y-m-d H:i:s"). include("bd.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(). Desconectar($conn). `login` .php")."error: " .T."'."'.P. `fecha` .php"> </head> Insertando. mysql_error($conn).$fecha.$idanun. `texto` ) VALUES ('".$_SESSION["id"].Vicente Sancho Guijarro Proyecto Final de Carrera Profesor_tablon_insertar.$conn).

helvetica.arial. font-size : 10pt. } . background-color: #000066. color: #ffffff. background-color: #CCFFFF.helvetica. color: #FFFFFF.helvetica.helvetica.arial.tit { font-family : verdana.laborable { E. Código CSS Calendario.helvetica.T. background-color: #666666.curso { font-family : verdana.arial. background-color: #F0E68C.arial. } . } . } . font-weight: bold. color: #FFFFFF.Vicente Sancho Guijarro Proyecto Final de Carrera H. text-align: center.da { font-family : verdana.altn { font-family : verdana. font-size : 8pt.fs { font-family : verdana. font-weight: bold. text-align: center.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.arial.helvetica. font-size : 10pt. } SELECT { font-family : verdana. color: #FFFFFF.P.arial. font-weight: bold.V.arial. font-size : 10pt.helvetica. text-align: center. } TEXTAREA { font-family : verdana.helvetica. de Informática Aplicada (U. background-color: #FFCCCC. font-weight: bold.S. font-size : 8pt. } . font-size : 8pt. } .helvetica. color: #ffffff.helvetica.arial.arial.arial.nd { font-family : verdana. } . text-align: center.) 265 . background-color: #333333. color: #FFFFFF. font-weight: bold. } INPUT { font-family : verdana.

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

} body { background-color: #999933. text-align: left. border-right-style: none. sans-serif. } . background-repeat: no-repeat. 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 . background-repeat: no-repeat./img/titulo. Helvetica. background-color: #99CC00. background-position: center center.. width: 140px. text-align: right. text-align: center. sans-serif./img/LogoPeq. background-color: #FFFF99. width: 130px. sans-serif. border-top-style: none. } ul li:hover { background-color: #CCFFCC.V. } .. color: #FF66CC. Helvetica. } ul li a { font-family: Verdana. Arial. font-family: Arial.S. background-repeat: no-repeat. Helvetica. height: 24px.titulo { background-color: #99CC33.. font-size: 13px. list-style-type: none. sans-serif.jpg). Helvetica. sans-serif. Helvetica. } .general { background-color: #99CC66. background-position: center. background-position: center center. border-left-style: none.png). width: 150px.logo { background-color: #99CC33. border-bottom-style: none. background-image: url(. margin-left: -40px.Vicente Sancho Guijarro Proyecto Final de Carrera general. Arial. } .imagenCalendario { background-color: #99CC66./img/calendario.) 267 .fecha { font-family: Verdana. padding-left: 15px. font-size: 14px. background-image: url(. font-family: Verdana. height: 150px. color: #660033. } ul li { border: medium ridge #CCFF66. vertical-align: middle. E.menu { vertical-align: top.P. font-weight: bold.T.jpg). Arial. color: #003399. padding-top: 8px. font-family: Arial. } . de Informática Aplicada (U. background-position: center center. width: 100%. background-image: url(.

border-right-style: none. Helvetica. border-left-style: none. E. sans-serif./img/arroba. border-bottom-color: #FFFF66./img/plano_valencia. background-image: url(./img/reglas. border-right-style: none. border-bottom-style: none. width: 150px. background-repeat: no-repeat. } . background-position: center center. background-repeat: no-repeat. border-top-style: none. border-top-style: none.P. border-bottom-style: none. border-right-style: none. background-image: url(. padding-left: 15px..png).gif). de Informática Aplicada (U. border-top-style: none. padding-left: 15px. width: 300px. border-right-color: #FFFF66. padding-left: 15px. border-top-color: #FFFF66. border-left-color: #FFFF66.imagenEmail { background-color: #99CC66. border-left-color: #FFFF66. sans-serif.. } . font-family: Arial.. border-right-color: #FFFF66. border-top-style: none. border-bottom-color: #FFFF66. Helvetica. width: 320px. } . border-bottom-style: none. Helvetica. font-family: Arial. border-left-style: none.V. border-top-color: #FFFF66. border-left-color: #FFFF66.S. background-repeat: no-repeat. border-right-color: #FFFF66. font-family: Arial. width: 150px. background-position: center center.) 268 .jpg). border-top-color: #FFFF66.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-right-color: #FFFF66. border-top-color: #FFFF66. } . border-bottom-style: none. background-position: center center.. background-repeat: no-repeat. border-bottom-color: #FFFF66. padding-left: 15px. background-position: center center.imagenEnlaces { Proyecto Final de Carrera background-color: #99CC66.imagenReglamento { background-color: #99CC66. border-bottom-color: #FFFF66. Helvetica. border-left-style: none. border-left-style: none. background-image: url(. border-right-color: #FFFF66. sans-serif.T. sans-serif. border-right-style: none. font-family: Arial. border-left-color: #FFFF66.imagenLocalizacion { background-color: #99CC66. background-image: url(.jpg). border-bottom-color: #FFFF66./img/email.

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

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

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

this_month[7] = "Agosto".i<=n.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. this_month[0] = "Enero".T. for (i=1. var minutos = hora. 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). } return( " " + this_day_e[dia] + ". document. } function displayTime() { var hora = new Date(). this_month[2] = "Marzo". var segundos = hora. } function horaActualizada() { tiempo = setTimeout("displayTime()". this_month[10] = "Noviembre".) 272 . } // --> E. "Miércoles".S. this_month[9] = "Octubre".getDate(). var day = today.V. this_month[8] = "Septiembre". this_month[3] = "Abril". JavaScript fecha. cadena = displayDate() + " " + horas + ":" + minutos + ":" + segundos.getSeconds(). if (year < 1000) { year += 1900. } function displayDate() { var this_month = new makeArray(12). this_month[11] = "Deciembre". this_month[6] = "Julio". } return this.innerHTML = cadena. "Jueves". function makeArray(n){ this.length = n.getYear().P. "Martes".getElementById('campoHora'). var month = today.1000). this_month[4] = "Mayo". "Domingo". var year = today. " + day + " de " + this_month[month] + " " + year). if (minutos < 10) minutos = "0" + minutos.1000). var today = new Date(). tiempo = setTimeout("displayTime()". de Informática Aplicada (U. if (segundos < 10) segundos = "0" + segundos. "Viernes".Vicente Sancho Guijarro Proyecto Final de Carrera I. var dia = today. var horas = hora. this_month[1] = "Febrero".getHours().getMonth(). this_month[5] = "Junio".getMinutes(). "Lunes".getDay().i++){ this[i]=0. "Sábado".

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

value. } else { alert ("No has seleccionado a ningun alumno al que poner la falta"). if ( nota_txt. document.eval("alumno_" + login). msg += "just:" + document. document. var fecha = document. alumno).value.forms[i]. alumno).fecha.eval("alumno_" + document.fecha.idasig.) 274 .href='/webcole/Profesor_notas. } } else { alert("Debes seleccionar una asignatura y una fecha antes de enviar las faltas").V.asignatura.length > 0 ) { var nota = parseFloat(nota_txt). de Informática Aplicada (U. document.value.asignatura.checkbox.forms[i]. document. alumno). function buscarasignatura() { var idasig = document. try { nota_txt = nota_txt.cambiado.general.submit().eval("alumno_" + alumno). var idasig = document. var trimestre = document. document.location.idasig.fecha. var nota_txt = document.checked + "|". var justificado = document.php?trimestre=' + trimestre + '&codasig=' + idasig . ".value.value = mensaje.trimestre. mensaje += msg.replace(". } function cambiar_trimestre() { } function nueva_nota(login) { formulario = "alumno_" + login.idasig.".value.asignatura.asignatura.fecha. var ha_cambiado = document.checkbox.value.borrar.value = document.value = asig. checked.eval("alumno_" + alumno).asignatura.eval("alumno_" + asignatura.value = "true".value.P.T.value = document.asignatura.general. } i++.").length > 0) { document.asignatura.checked == true) { var msg = "login:" + document.value + ".forms[i].datos. } document.submit().general.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.login.value. document.seleccionado.eval("alumno_" + login). if ( isNaN(nota) ) { E. if (mensaje. } } function quitar_falta(alumno) { var fecha_general = document.eval("alumno_" + } alumno).nota.general.eval("alumno_" + fecha.value.S. ".value = fecha.

} document.idasig.".length > 0 ) { try { var nota = parseFloat(nota_txt).V. document. } else if ( nota >= 0 && nota <= 10 ) { document.value = document. if ( nota >= 0 && nota <= 10 ) { document.cambiado.focus(). document.nota.T.asignatura.nota. trimestre.S.eval("nota").value = "false".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.replace(". } else { alert("La nota debe estar comprendida entre 0 y 10") . } } catch(e) { alert ("No has introducido un numero valido: " + e.value = nota."). ". document.cambiado.cambiado. nota_txt = nota_txt.cambiado. if ( ha_cambiado == "true" ) { if ( nota_txt.value = "true". } function enviar_alumno(login) { formulario = "alumno_" + login.nota.eval("alumno_" + login).value = "true".focus().eval("alumno_" + login).asignatura. var ha_cambiado = document. } } else { document. document.eval("alumno_" + login).value.eval("alumno_" + login).eval("alumno_" + login).trim.eval("alumno_" + login).asignatura. alert("El numero introducido no es correcto").value = document.eval("alumno_" + login).cambiado.value = "false". var nota_txt = document. } } else { E.eval("nota").value . document.eval("alumno_" + login). de Informática Aplicada (U.eval("alumno_" + login).value.value. document.eval("alumno_" + login). document. message). } else { alert("La nota debe estar comprendida entre 0 y 10").cambiado. } } else { alert ("No has introducido ningun numero ").eval("alumno_" + login).eval("alumno_" + login).message). } } catch(e) { alert ("No has introducido un numero valido: " + e.value = "false".value = nota. document.submit().value = nota.) 275 .eval("alumno_" + login).eval("alumno_" + login).P.eval("alumno_" + login).nota.

idasig.".value.idasig. } document. ". } else { alert("La nota debe estar comprendida entre 0 y 10").name.submit().nota.submit(). } function cambio_trimestre() { var trimestre = document.asignatura. E. if ( nota >= 0 && nota <= 10 ) { var msg = "login:"+document. if ( nota_txt.cambiado.value = document.eval("alumno_" + login).message). msg += "nota:" + nota + "|".value = mensaje.value. mensaje += msg.replace(".asignatura.general.asignatura. var idasig = document. var nota = parseFloat(nota_txt).value.forms[i]. de Informática Aplicada (U.forms[i]. value. //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. value + ".P. value. i< 6. i++) var i = 1 while ( i < lon -1 ) { try { var nombre = document.forms[i].message).trimestre. } } } catch(e) { alert("Error: " + e.asignatura. document. } function enviar_todos() { var lon = document.focus().datos.T.forms[i].V.nota. var mensaje = "".general.trimestre. return. document.) 276 .").asignatura.S.length.". document.forms.length > 0 ) { try { nota_txt = nota_txt.value. document.trimestre. } } else { //alert ("No has introducido ningun numero "). } i++. if ( ha_cambiado == "true" ) { var nota_txt = document.value = document.general.general. } } catch(e) { alert ("No has introducido un numero valido: " + e.forms[i]. } document. var ha_cambiado = document.login.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").

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

P. Debes elegir un dia de los disponibles en el calendario").reservar. alert ("Mes incorrecto. anyo_actual = fecha. Debes elegir un dia de este año "). function cambiar(i) { alert ("id vale:" + i ). Debes elegir un dia de los disponibles en el calendario").anyo.reservar.reservar.value == -1) { correcto = false.mes.value = i + "-" + document. document. dia = document.anyo. //comprobar si tenemos todos los parametros necesarios //de fecha dia = document.dia. } function redirigir(usuario. } function enviar() { fecha = new Date(). alert ("Debes rellenar el campo motivo").reservar.value==0) { correcto = false. mes = document.value = i.href='/webcole/' + usuario + '_reservar_' + tipo + '.Vicente Sancho Guijarro Proyecto Final de Carrera reservas.reservar. value + "-" + document.getFullYear().value.value.value.mes. alert ("Debes elegir una instalacion de las disponibles").S.) 278 .anyo. } else if (document.value.anyo. } document.reservar.reservar.reservar. } else if (mes < 1 || mes > 12 || document.dia.reservar.reservar.php?iditem=' + iditem + '&dia=' + dia + '&nuevo_mes=' + mes + '&nuevo_ano=' + anyo.iditem.T. de Informática Aplicada (U.reservar. } else if (dia > 31 || dia < 1 || document.mes. alert ("Año incorrecto.mes.motivo. anyo = document.V.value.location. alert ("Dia incorrecto.value. if ( i < 10 ) { i = "0" + i. } E.length == 0) { correcto = false. anyo = document.value==0) { correcto = false.dia. mes = document. tipo) { iditem = document.value.reservar.fecha.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. } else if (anyo != anyo_actual || document.value.reservar. document.reservar.value==0 ) { correcto = false. correcto = true.reservar.reservar.value.iditem. if (document.

} } function maxCaracteres() { if(document.". de Informática Aplicada (U.reservar.length > MAX_LENGTH) { temp="".reservar.motivo.value.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.reservar.reservar. } E.S.P.length>= MAX_LENGTH) { return "return false. document.motivo.value = temp.substring(0. temp = document. } if (correcto) { document.submit(). MAX_LENGTH-1) .reservar.motivo.T.motivo. } } function longitud() { return MAX_LENGTH.value.value.) 279 .V.

Sign up to vote on this title
UsefulNot useful