INSTITUTO TECNOLÓGICO SUPERIOR DE ACAYUCAN
INFORME FINAL DE
RESIDENCIA PROFESIONAL
ÁMBITO: social y productivo
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDAD
DE INGENIERIA EN SISTEMAS COMPUTACIONALES E
INFORMATICA
INSTITUTO TECNOLOGICO SUPERIOR DE ACAYUCAN
PRESENTA(N): C ALEXANDER VELAZQUEZ CORTES No. 090B0265
De la especialidad de INGENIERIA EN
SISTEMA COMPUTACIONAL
ISIC-2004-296
Período AGO 13 - ENE 14
Asesor Interno: MTI. VIANEY FUENTES MATEO.
Asesor Externo: MTI. MIGUEL HERNANDEZ LINARES.
Acayucan, Ver. Enero de 2014
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 2
Contenido CAPÍTULO I ............................................................................................................................ 4
INTRODUCCION ............................................................................................................... 4
JUSTIFICACION ................................................................................................................ 5
OBJETIVOS ........................................................................................................................ 8
OBJETIVO GENERAL ................................................................................................... 8
OBJETIVOS ESPECIFICOS ........................................................................................ 8
FACTIBILIDAD ECONÓMICA, TÉCNICA Y OPERATIVA .......................................... 9
Económica ....................................................................................................................... 9
Técnica........................................................................................................................... 10
Operativa ....................................................................................................................... 11
CAPITULO II ......................................................................................................................... 12
CARACTERIZACIÓN DEL ÁREA EN QUE PARTICIPÓ........................................... 12
ANTECEDENTES DE LA EMPRESA ........................................................................... 13
PROBLEMAS A RESOLVER, PRIORIZÁNDOLOS ................................................... 15
ALCANCES Y LIMITACIONES ...................................................................................... 17
Alcances ........................................................................................................................ 17
Limitaciones .................................................................................................................. 18
CAPITULO III ........................................................................................................................ 18
FUNDAMENTO TEÓRICO ............................................................................................. 18
QUÉ ES UN SERVIDOR............................................................................................ 19
SERVIDOR WEB ......................................................................................................... 19
FUNCIÓN DE UN SERVIDOR ................................................................................... 19
Debían ............................................................................................................................ 20
Virtualización ................................................................................................................. 23
Software utilizado para el desarrollo del sistema. ....................................................... 25
MySql ............................................................................................................................. 26
Historia de MySQL ....................................................................................................... 26
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 3
Características de MySql ............................................................................................ 26
PHP ................................................................................................................................ 27
AppServ ......................................................................................................................... 28
CSS ................................................................................................................................ 29
Dobe Flash Player ........................................................................................................ 32
Java script ......................................................................................................................... 33
XML ................................................................................................................................. 34
Secure Hash Algorithm ............................................................................................... 36
HTML5 ............................................................................................................................. 37
JQuery ................................................................................................................................. 38
Características .................................................................................................................. 39
Adobe Dreamweaver ................................................................................................... 39
CSS · Bootstrap ............................................................................................................ 42
Diseñador de base de datos ....................................................................................... 46
Aplicaciones de los lenguajes de programación. .................................................. 46
Framework ..................................................................................................................... 47
PROCEDIMIENTOS Y DESCRIPCION DE LAS ACTIVIDADES REALIZADAS.
............................................................................................................................................ 51
Metodología IWEB ....................................................................................................... 52
CAPITULO lV ........................................................................................................................ 57
RESULTADOS, PLANOS, GRÁFICAS, PROTOTIPOS Y PROGRAMAS ............. 57
Entidades de la bd ....................................................................................................... 57
Descripción de los datos de la BD ............................................................................. 59
CAPITULO V ....................................................................................................................... 148
CONCLUSIONES Y RECOMENDACIONES ............................................................ 148
Conclusión ................................................................................................................... 148
Recomendaciones ..................................................................................................... 148
CAPÍTULO VI ...................................................................................................................... 150
Anexos ............................................................................................................................. 150
REFERENCIAS BIBLIOGRÁFICAS ........................................................................... 151
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 4
CAPÍTULO I
INTRODUCCION
Este documento describe el trabajo realizado en el proyecto final de
carrera de ingeniería en sistemas computacionales. El proyecto consiste en
el desarrollo de un portal web para las academias de ingeniería en sistemas
computacionales e informática, del Instituto Tecnológico Superior de
Acayucan, situado en carretera costera del golfo Km. 216.4, colonia Agrícola
Michapan, Acayucan, Veracruz. El objetivo de dicho portal web es dar una
información completa sobre el tecnológico y los servicios de los que dispone,
así como proporcionar una serie de funcionalidades a los alumnos y
profesores de las carreras de ingeniería en sistemas computacionales e
informática del centro educativo.
La web es accesible desde cualquier navegador por Internet y tiene
información referente a su localización, sus miembros (profesores de las
academias de sistemas computacionales e informática) y su proyecto
educativo. Se trata de dar una visión lo más completa posible de la
institución, así como del funcionamiento de las academias de Ingeniería en
Sistemas Computacionales e Informática.
En cuanto a los usuarios, la página tiene varios tipos. Por un lado, están
los usuarios no registrados o visitantes, que únicamente pueden acceder a
información general sobre el centro. Por otro, están los usuarios registrados,
que pueden acceder a una mayor funcionalidad dentro de la aplicación. Entre
estos últimos se encuentra el usuario docente y el usuario administrador. El
usuario docente puede realizar acciones tales como cargar archivos y tener
acceso a sus respectivos apartados de academia, mientras que el usuario
administrador gestiona el sistema.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 5
IDENTIFICACION DEL PROBLEMA
La liberación de créditos es muy importante en la carrera del alumno,
contando que el alumno tiene que reunir con 5 créditos como requisito de la
escuela, los créditos se pueden cumplir con actividades extraescolares,
cursos impartidos por los docentes, congresos, entre otras que ayudan al
alumno a completar estos requisitos, estos créditos se tienen que cumplir a lo
largo de la carrera, pero no se lleva un control sobre estos, existiendo un
desorden y un desconocimiento de cuantos créditos faltan al alumno,
además que la publicación de dichas actividades para la realización de estos
es muy pobre y no se informa sobre la realización de cursos, haciéndose que
el registro en cursos y otras actividades sea de manera verbal o manual.
Las academias de ingeniería en sistemas computacionales y de informática
llevan a cabo reuniones de academia para tratar asuntos relacionados con
sus respectivas carreras, las reuniones son citadas por el presidente y
secretario, en la cual se estipula un día, lugar y horario para que se lleve a
cabo la junta, un problema que se presenta es el método de comunicado
para la información, ya sea para avisar de juntas de academia, entrega de
asignaciones de comisión y liberaciones se hace de manera personal,
haciendo que las notificaciones no se entreguen en la fecha correspondiente
y pueda ver un retraso o una falta en el caso de las reuniones de academia,
otro de los casos es el surgimiento de convocar reuniones rápidas (de un día
para otro) para tratar temas urgentes, haciéndose muy difícil la asistencia de
todos los miembros. Cada miembro de la academia puede encargársele
diferentes asignaciones, las cuales se guardan en un expediente con sus
respectivas liberaciones, si se llega a su cumplimiento, para llevar un
registro, estos registros se guardan de forma manual en carpetas con el
nombre de cada docente, el problema es que dichos documentos pueden
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 6
extraviarse o revolverse con el paso del tiempo, haciéndose imposible poder
checar algún registro de fechas anteriores.
Un tema importante surge al no existir ningún dato sobre temas relacionados
con los anteproyectos, residencias y tesis, ya que al entregarse todos los
anteproyectos se estipulan fechas variadas para que el alumno acuda a las
instalaciones para verificar si su residencia procede o no y para rectificar a su
asesor interno asignado. Los asesores una vez teniendo el proyecto, no
pueden darse cuenta, si dicho proyecto ya antes se ha realizado, y no
pueden evaluar de una manera parcial al alumno, ya que pueden existir la
duplicidad de proyectos o pueden darse los casos en donde los proyectos
pueden repetirse pues las compañías pueden entregar proyectos que ya
antes se han elaborado.
Otro problema es la entrega de manuales y antologías que elaboran los
docentes, ya que estos hacen llegar su material en memorias o
fotocopiándolo y entregándolo al alumno, lo cual se hace un problema ya que
el material, no puede ser repartido a todos los alumnos, llegándose al caso
de extraviar dicha información retrasando al docente. Por último la
información que se le notifica al alumno se realiza de manera muy pobre,
pues los avisos de acontecimientos importantes se realizan de manera oral o
a través de avisos escritos que carecen de visibilidad, estos avisos pueden
ser talleres, cursos, promociones de becas, etc. imposibilitando al alumno de
trabajar en tiempo y forma con la institución.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 7
JUSTIFICACION
Debido a los diferentes problemas con el acceso y flujo de información entre
las comunidades de ingeniería en sistemas computacionales e ingeniería
informática del Instituto tecnológico Superior de Acayucan, se ha tomado en
cuenta realizar un portal en línea que facilite la información a las
comunidades antes mencionadas, mejorando diversos ámbitos,
planteándose que en dicho portal, las academias de sistemas
computacionales como la de informática, tendrán su propio sistema, dirigidos
por un administrador, que avisara de las juntas que se realizaran mandando
a los correos de los docentes una notificación que los enlazara con el portal,
mejorando así los comunicados de avisos de reuniones de academia, así
como se tendrá una lista con la información de cada docente de sus
respectivas academias, en donde se tendrá el archivamiento de forma digital
de las diversas asignaciones y comisiones asignadas a los docentes,
mejorando así perdida de archivos y búsqueda de manera inmediata de
estos.
Se tiene propuesto implementar en dicho portal, un apartado para que los
docentes y alumnos puedan consultar el nombre y una breve descripción de
residencias anteriores, para evitar el duplicado de estas, así como también
para los alumnos consulten de manera rápida si sus anteproyectos han sido
aceptados, como también que asesor le ha sido asignado. También se
asignara un apartado para que las antologías y manuales estén a disposición
de todos los alumnos, así los archivos podrán estar al alcance de todos de
una manera práctica y sencilla, agilizando el tiempo para el uso de dicho
material y evitando los extravíos o el mal manejo a la hora de repartir la
información. Se creara una ventana en la interfaz únicamente para
notificaciones y avisos importantes de la carrera, para mantener informado a
la comunidad de sistemas e informática de sucesos importantes que se
acontecen conforme a las carreras.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 8
Se realizara un apartado para que el alumno pueda ver los cursos que están
a disposición y este pueda tomarlos para completar sus actividades
complementarias para la acreditación de créditos, así como el administrador
de su respectiva academia tiene un control sobre los créditos del alumno,
creando más cursos para ayudarlo a cumplir estos requisitos.
OBJETIVOS
OBJETIVO GENERAL
Facilitar información a la comunidad de las carreras de ingeniería en
sistemas computacionales e ingeniería en informática así como también
para facilitar los procedimientos que se hacen en las respectivas academias,
mediante la implantación de plataforma en línea para el Instituto
Tecnológico Superior de Acayucan.
OBJETIVOS ESPECIFICOS
Desarrollar interfaz gráfica para cada incidencia.
Generar las bases de datos específicas y dedicadas para el flujo de
información.
Implementar apartado para banco digital (anteproyectos, residencias,
tesis, antologías y manuales de práctica) para consulta y descarga.
Implementar un apartado para asuntos de academia.
Almacenar de manera más rápida la información diaria que se genere
en el departamento.
Definir niveles de acceso a información.
Determinar la seguridad de acceso a la interfaz.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 9
FACTIBILIDAD ECONÓMICA, TÉCNICA Y OPERATIVA
En esta fase del sistema se realizaron los estudios de factibilidad
económica, técnica y operativa y de recursos humanos para su aprobación
de desarrollo del sistema, a continuación se describe detalladamente los
estudios realizados.
Económica
Para que el sistema pueda ser desarrolladlo, es indispensable estudiar
profundamente los recursos económicos con que cuenta para que esto sea
posible se han considerado los siguientes costos:
concepto horas Costo por hora costo
Análisis de sistema 50 $60 $1 500. ºº
Determinación de los
requerimientos (diseño de la
base de datos)
60 $60 $3 000. ºº
Determinación de los
requerimientos (diseño de
interfaces)
80 $60 $4 000. ºº
Desarrollo e implantación 160 $60 $8 000. ºº
Costos indirectos generados
por el personal
$2 000. ºº
$18,500. ºº
El costo del sistema es de $18,500. ºº Más la cantidad de $3000. ºº De mano
de obra, nos arroja una cantidad de $21,500. ºº Como gasto total.
En este caso se ha determinado que es económicamente factible ejecutar el
desarrollo del sistema para la academia de ingeniería en sistemas, debido a
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 10
que todos los gastos que puedan surgir en el desarrollo del sistema, serán
proporcionados por el instituto tecnológico superior de Acayucan.
Técnica
El instituto tecnológico superior de Acayucan tienen dentro de sus alcances
técnicos para el desarrollo del sistema “Implantación de plataforma web para
la comunidad de isc e informatica,en este caso el líder del proyecto”, será
quien diseñe y cree el sistema que requiere:
Hardware
En cuanto al hardware, específicamente el servidor donde se instalara el
sistema propuesto que servirá para la comunicación de los demás
computadores vía web, este debe cubrir con los siguientes requerimientos
mínimos:
Procesador Pentium 166 MHz.
Tarjeta Madre.
512 MB de Memoria RAM
Disco duro de 30 Gb.
Unidad de CD-ROM.
Tarjeta de Red.
Tarjeta de Video.
Monitor
Teclado
Mouse
Evaluando el hardware existente y tomando en cuenta la configuración
mínima necesaria, el tecnológico no requirió realizar una inversión inicial para
la adquisición de nuevos equipos, ya que los mismos satisfacen los
requerimientos establecidos tanto para el desarrollo y puesta en
funcionamiento del sistema propuesto.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 11
Software
En cuanto al software, la tecnológica cuenta con casi todas las aplicaciones
que se emplearan para el desarrollo del proyecto y funcionamiento del
sistema, a excepción del servidor web appserv o xampp, pero estos se
encuentran en el internet de forma gratuita, lo cual no amerita inversión
alguna para la adquisición de los mismos. Las estaciones de trabajo operan
bajo ambientes Windows - Linux.
Windows 7, Salix OS
Navegador Internet Explorer, Google Chrome y Mozilla Firefox
Herramientas de Escritorio Office 2010 y Libre Office.
Sistemas administrativos
Antivirus
De acuerdo al estudio realizado al instituto tecnológico superior de Acayucan
de recursos técnicos o el equipo de cómputo con que cuenta necesario para
el desarrollo del sistema, se puede concluir que es factible desarrollar el
proyecto denominado “Implantación de plataforma web para la comunidad de
isc e informática”, para el departamento de academia de ingeniería en
sistemas, debido a que los equipos de cómputo con que se cuentan,
cumplen con el software y hardware básicos para el desarrollo del sistema.
Operativa
Debido a las determinaciones tomadas en los estudios de factibilidad
económica y técnica, llegamos a la conclusión que es operativamente te
factible económica y técnica, llegamos a la conclusión que es operativamente
factible construir el proyecto denominado “Implantación de plataforma web
para la comunidad de isc e informática” para la academia de ingeniería en
sistemas computacionales. Cuya función que desempeña es todo lo
relacionado con el trabajo del docente para asegurar el cumplimiento de los
programas de las asignaturas del plan de estudios de cada carrera de
licenciatura, impartidas en el instituto tecnológico superior de Acayucan.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 12
CAPITULO II
CARACTERIZACIÓN DEL ÁREA EN QUE PARTICIPÓ
Este proyecto se llevó acabo en el instituto tecnológico superior de
Acayucan en el departamento de desarrollo de academia a cargo del ing.
El siguiente esquema físico muestra la ubicación exacta de la empresa
donde se llevara a cabo el proyecto de residencia denominando implantación
de plataforma web para comunidad de ingeniería en sistemas
computacionales e informática.
Figura 1.0 ubicación de la institución.
Tabla 1: Datos generales de la empresa.
Nombre: instituto tecnológico superior de Acayucan
Área administrativa:
Dirección: carretera costera del golfo km.216.4 Desviación. A monte grande.
Col.Agricola michapan, Acayucan, Veracruz.
Teléfono: (01924)2 45 74 10 fax: (01 924)24 574 18
E-mail: [email protected];
Página web: www.itsacayucan.edu.mx;
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 13
ANTECEDENTES DE LA EMPRESA
El instituto tecnológico superior de Acayucan es una institución joven con
apenas diez años de existencia. Durante este tiempo ha respondido a las
exigencias de una sociedad demandante de oportunidades de estudio a nivel
superior. Iniciando actividades el 25 de septiembre de 2000 con 103
estudiantes hoy se ha convertido en una institución cada vez más fuerte
experimentando un notable incremento de matrícula y de personal
adquiriendo cada vez mayor relevancia ante las autoridades educativas
federales, estatales y municipales y consolidándose entre la sociedad como
la máxima casa de estudio de la región.
Este crecimiento es la muestra de indiscutibles logros alcanzados por el
trabajo conjunto de la institución del gobierno en sus tres niveles y de la
comunidad tecnológica. Sin embargo los retos que debe afrontar son
muchos. El plan nacional de educación 2001-2006 (PNE) en el apartado
correspondiente a educación superior señala de rumbo que como institución
de educación superior pública hemos de seguir.
Sin duda que el proceso de superarse representa grandes esfuerzos sin
embargo dado nuestro compromiso y la capacidad de quienes estamos
involucrados tales retos son oportunidades para alcanzar un crecimiento que
nos permita responder de manera más eficiente y profunda expectativas que
tiene la sociedad en materia De educación superior de calidad con enfoque
humanístico e generación de conocimiento científicos de desarrollo
tecnológico de transferencia de tecnologías de divulgación cultural entre
otras. Las áreas sustantivas del instituto están comprometidas en conjunto
realizando primeramente un análisis de las fortalezas y debilidades para
reforzar y ampliar sus servicios. Este proceso involucra un reconocimiento
honesto de lo que se a echo bien y de lo que es necesario mejorar con todo
el esfuerzo que ello requiera una evaluación sería responsable autocritica
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 14
que conduzca al mejoramiento integral de los procesos que serán el
fundamento de una institución de calidad.
Figura 1.2 .escudo del instituto tecnológico superior de Acayucan.
Actualmente la institución cuenta con las carreras siguientes:
Sistema escolarizado
o Ingeniería bioquímica
o Ingeniería en sistemas computacional
o Licenciatura en informática
o Ingeniería industrial
o Ingeniería en gestión empresarial
o Ingeniería en Mecatrónica
o ingeniería en informática
o Ingeniería química
Sistema abierto
o Licenciatura en informática
o Ingeniería en gestión empresarial
Política de calidad
El itsa establece el compromiso de implementar el sistema de gestión de
calidad (SGC) en todos sus procesos claves, orientándolos hacia la
satisfacción de sus alumnos sustentada en la calidad de proceso educativo
para cumplir con su requerimiento mediante la eficacia de un sistema de
gestión de la calidad y de mejora continua conforme a la norma ISO
9001:2000/mnx-cc-9001.IMNC-2000.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 15
Misión
Asegurar la formación integral de los estudiantes, en profesionistas e
investigadores de excelencia, capaces de desarrollar tecnologías para la vida
y el respeto al medio ambiente, utilizando el mejor capital intelectual en las
áreas del conocimiento correspondiente.
Visión
Ser una institución educativa vanguardista, reconocida a nivel nacional e
internacional para el 2018 por su actitud incluyente e innovadora por su
capacidad para desarrollar tecnología, investigación y comprometida siempre
con el uso sustentable del ambiente.
PROBLEMAS A RESOLVER, PRIORIZÁNDOLOS
La liberación de créditos es muy importante en la carrera del alumno,
contando que el alumno tiene que reunir con 5 créditos como requisito de la
escuela, los créditos se pueden cumplir con actividades extraescolares,
cursos impartidos por los docentes, congresos, entre otras que ayudan al
alumno a completar estos requisitos, estos créditos se tienen que cumplir a lo
largo de la carrera, pero no se lleva un control sobre estos, existiendo un
desorden y un desconocimiento de cuantos créditos faltan al alumno,
además que la publicación de dichas actividades para la realización de estos
es muy pobre y no se informa sobre la realización de cursos, haciéndose que
el registro en cursos y otras actividades sea de manera verbal o manual.
Las academias de ingeniería en sistemas computacionales y de informática
llevan a cabo reuniones de academia para tratar asuntos relacionados con
sus respectivas carreras, las reuniones son citadas por el presidente y
secretario, en la cual se estipula un día, lugar y horario para que se lleve a
cabo la junta, un problema que se presenta es el método de comunicado
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 16
para la información, ya sea para avisar de juntas de academia, entrega de
asignaciones de comisión y liberaciones se hace de manera personal,
haciendo que las notificaciones no se entreguen en la fecha correspondiente
y pueda ver un retraso o una falta en el caso de las reuniones de academia,
otro de los casos es el surgimiento de convocar reuniones rápidas (de un día
para otro) para tratar temas urgentes, haciéndose muy difícil la asistencia de
todos los miembros. Cada miembro de la academia puede encargársele
diferentes asignaciones, las cuales se guardan en un expediente con sus
respectivas liberaciones, si se llega a su cumplimiento, para llevar un
registro, estos registros se guardan de forma manual en carpetas con el
nombre de cada docente, el problema es que dichos documentos pueden
extraviarse o revolverse con el paso del tiempo, haciéndose imposible poder
checar algún registro de fechas anteriores.
Un tema importante surge al no existir ningún dato sobre temas relacionados
con los anteproyectos, residencias y tesis, ya que al entregarse todos los
anteproyectos se estipulan fechas variadas para que el alumno acuda a las
instalaciones para verificar si su residencia procede o no y para rectificar a su
asesor interno asignado. Los asesores una vez teniendo el proyecto, no
pueden darse cuenta, si dicho proyecto ya antes se ha realizado, y no
pueden evaluar de una manera parcial al alumno, ya que pueden existir la
duplicidad de proyectos o pueden darse los casos en donde los proyectos
pueden repetirse pues las compañías pueden entregar proyectos que ya
antes se han elaborado.
Otro problema es la entrega de manuales y antologías que elaboran los
docentes, ya que estos hacen llegar su material en memorias o
fotocopiándolo y entregándolo al alumno, lo cual se hace un problema ya que
el material, no puede ser repartido a todos los alumnos, llegándose al caso
de extraviar dicha información retrasando al docente. Por último la
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 17
información que se le notifica al alumno se realiza de manera muy pobre,
pues los avisos de acontecimientos importantes se realizan de manera oral o
a través de avisos escritos que carecen de visibilidad, estos avisos pueden
ser talleres, cursos, promociones de becas, etc. imposibilitando al alumno de
trabajar en tiempo y forma con la institución
ALCANCES Y LIMITACIONES
Al desarrollar un proyecto se presentan alcances del que dispone y
diferentes inconvenientes cuando se tiene la intención de ponerlo en marcha
a continuación se presentan los alcances y limitaciones para el desarrollo de
este proyecto. En la parte de alcances se presentan los recursos con los
que se pueden disponer de la Implantación de plataforma web para la
comunidad de isc e informática en las limitaciones, en las limitaciones se
mostraran los datos relacionados con los problemas para tener un
rendimiento eficaz del software.
Alcances
Es compatibilidad con las versiones de Windows como son: XP, Vista
Y Seven.
Actualización de los datos.
Seguridad de información mediante un usuario determinado y
contraseña.
Portabilidad: ya que podrá ser distribuido en múltiples equipos.
El sistema podrá ser instalado en múltiples plataformas.
La información será distribuida a través de internet.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 18
Limitaciones
La aplicación será mono usuario.
Tendrá acceso el encargado del departamento de academia isc e
info.
El sistema no podrá ser un sistema distribuido.
CAPITULO III
FUNDAMENTO TEÓRICO
Es preciso conocer inicialmente fundamentos de base de datos
incluidos, términos y conceptos básicos, modelos de diseño de base de
datos y las características que debe contener una buena base de datos, el
lenguaje de consulta y almacenamiento de datos, el sistema operativo
compatible con el lenguaje de datos que además permita utilizar un lenguaje
de programación con el que se diseñara y programara la parte grafica con la
ayuda de programas que harán que el sistema pueda ser usado a través de
la red de la institución.
Por ello las investigaciones conllevan a elegir los programas adecuados
para lograr el cometido de este sistema; a continuación se presenta las
herramientas que se utilizaron para este proyecto explicando las causas que
encaminan a usarlas y los requerimientos de estos.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 19
QUÉ ES UN SERVIDOR
Un servidor es un equipo informático que forma parte de una red y provee
servicios a otros equipos cliente. Se denomina servidor dedicado, aquel que
dedica todos sus recursos a atender solicitudes de los equipos cliente. Sin
embargo un servidor compartido es aquel que no dedica todos sus recursos
a servir las peticiones de los clientes, sino que también es utilizado por un
usuario para trabajar de forma local.
SERVIDOR WEB
Un servidor web es un programa que se ejecuta continuamente en un
computador, manteniéndose a la espera de peticiones de ejecución que le
hará un cliente o un usuario de Internet. El servidor web se encarga de
contestar a estas peticiones de forma adecuada, entregando como resultado
una página web o información de todo tipo de acuerdo a los comandos
solicitados. En este punto es necesario aclarar lo siguiente: mientras que
comúnmente se utiliza la palabra servidor para referirnos a una computadora
con un software servidor instalado, en estricto rigor un servidor es el software
que permite la realización de las funciones descritas.
FUNCIÓN DE UN SERVIDOR
La función de un servidor es proveer servicios a otras computadoras
conectadas en red, llamadas clientes. El ejemplo más práctico de un
servidor, son los servidores web, por ejemplo, yahoo.com.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 20
Debían
Este sistema operativo esta Está mantenida por sus usuarios, Si algo
necesita ser arreglado o mejorado, simplemente lo hacemos.
Su Soporte incomparable, el correo enviado a las listas de
correo frecuentemente obtiene respuesta en quince minutos (o menos),
gratuitamente, y por las personas que lo desarrollaron. Compare ésto al
típico soporte telefónico: horas gastadas en el teléfono, pagando dinero, sólo
para tener a alguien que no conoce el sistema lo suficientemente bien como
para entender su pregunta.
No estará solo en su elección Un amplio abanico de organizaciones e
individuos usa ya Debian. Vea nuestra página ¿Quién está usando
Debian? Si desea una descripción de algunos sitios de prestigio que usan
Debian y han decidido enviar una corta descripción de cómo hacen uso de
Debian y por qué.
El mejor sistema de empaquetamiento de software del mundo ¿Cansado de
viejos archivos de software tres versiones anteriores al actual desordenando
su sistema? ¿O de instalar software sólo para encontrar que hace que su
sistema se colapse debido a conflictos de software?, el sólido sistema de
empaquetamiento de Debian, se encarga de estos asuntos por usted.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 21
Instalación sencilla Si ha oído que Debían es difícil de instalar entonces no
ha probado Debían últimamente. Estamos mejorando constantemente el
proceso de instalación. Puede realizar la instalación directamente desde un
CD, DOS o discos flexibles o incluso a través de la red.
La Increíble cantidad de software Debían viene con más de 37500 elementos
de software diferentes. Cada bit de éstos es libre. Si tiene software
propietario que corre bajo GNU/Linux o GNU/kFreeBSD, puede usarlo (de
hecho, puede que incluso exista un instalador en Debían que
automáticamente instale y configure todo por usted).
Paquetes bien integrados Debían sobrepasa a todas las otras distribuciones
en lo bien integrados que están sus paquetes. Como todo el software lo
empaqueta un grupo coherente, no sólo puede encontrar todos los paquetes
en un mismo sitio sino que puede estar seguro de que hemos eliminado
todos los problemas al respecto de complejas dependencias. Aunque
creemos que el formato deb tiene algunas ventajas sobre el rpm, es la
integración entre paquetes lo que hace a un sistema Debían más robusto.
Código fuente Si usted es un desarrollador de software, apreciará el hecho
de que haya cientos de herramientas y lenguajes de desarrollo, además de
millones de líneas de código fuente en el sistema base. Todo el software en
la distribución principal es conforme al criterio de las Directrices de Software
Libre de Debían (DFSG). Esto significa que usted puede usar libremente este
código para estudiarlo o para incorporarlo a un nuevo proyecto de software
libre. También hay una buena cantidad de herramientas y código apropiado
para el uso en proyectos propietarios.
Actualizaciones fáciles Actualizarse a una nueva versión de Debían es muy
fácil gracias a nuestro sistema de empaquetamiento. Sólo tiene que
ejecutar apt-get update; apt-get dist-upgrade (o aptitude update; aptitude dist-
upgrade, según la versión) y puede actualizarse desde un CD en cuestión de
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 22
minutos o configurar apt para que utilice alguno de los trescientos espejos de
Debían y actualizarse desde la red.
Sistema de seguimiento de errores el sistema de seguimiento de errores de
Debían es público. No intentamos esconder la realidad de que el software no
siempre trabaja de la manera que los usuarios desean. Aconsejamos a los
usuarios que envíen informes de errores y serán notificados cuándo y por
qué el error ha sido solucionado. Este sistema permite que Debían responda
a los problemas rápida y honestamente.
Si usted aún no es usuario de Debían, puede también disfrutar de los
siguientes beneficios:
Estabilidad
Existen muchos casos de máquinas que trabajan durante más de un año
seguido sin reiniciarse. De la misma forma, hay equipos que tan sólo son
reiniciados debido a un fallo en el suministro de corriente o a una
actualización del hardware. Compare esto con otros sistemas que se
colapsan varias veces al día.
Rápido y ligero en memoria
Otros sistemas operativos pueden ser rápidos en una o dos áreas, pero,
estando basado en GNU/Linux o GNU/kFreeBSD, Debían es ligero y
humilde. El software para Windows se ejecuta bajo GNU/Linux usando un
emulador a veces más rápido que en su ambiente original.
Los controladores para la mayoría del hardware están escritos
por usuarios de GNU/Linux / GNU/kFreeBSD, no por el fabricante.
Mientras que esto puede significar retrasos antes de que el nuevo hardware
sea soportado y la no existencia de soporte para algún hardware, permite
que continúe el soporte mucho después de que el fabricante haya detenido
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 23
su producción o haya quebrado. La experiencia ha demostrado que los
controladores de fuentes abiertas son usualmente mejores que los
controladores propietarios.
Buena seguridad del sistema
Debian y la comunidad del software libre son muy sensibles a asegurarse de
que los arreglos de problemas de seguridad entren en la distribución
rápidamente. Normalmente, los paquetes arreglados se hacen disponibles a
los pocos días. La disponibilidad del código fuente permite que la seguridad
en Debian se evalúe de forma abierta, lo que evita que se implementen
modelos de seguridad pobres. Además, la mayoría de los proyectos de
software libre tienen sistemas de revisión por terceras partes, que, como
primera medida, evitan que se introduzcan en el sistema problemas de
seguridad potenciales.
Software de seguridad
Muchos desconocen que cualquier cosa enviada por la red puede ser leída
por cualquier máquina entre usted y el receptor. Debian tiene paquetes del
famoso software GPG (y PGP) que permite enviar correo entre usuarios
preservando su privacidad. Además, ssh permite crear conexiones seguras a
otras máquinas que tengan ssh instalado.
Virtualización
Para hacer más bajo el costo de un sistema preferido este software tiene
cualidades a muy bajo costo para empezar. ¿Qué es Virtualización? Es la
Creación de un Equipo Virtual usando una combinación de hardware y
software. Facilidad de poder ejecutar múltiples Sistemas Operativos en un
solo hardware.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 24
Muchas de la empresas les da curiosidad el ¿Por qué Virtualizar? Uno de los
muchas razones de esto es la reducción del tiempo ocioso (es el tiempo que
un procesador gasta esperando datos de otros procesadores).
Disponibilidad de tecnología especializada para tales fines.
Ahorro de recursos: Hardware, Energía y Costos
Qué se logra con la virtualización los siguientes puntos los muestran:
Facilidad para la administración.
Reemplazo rápido de sistemas completos en casos de averías.
Los Sistemas de Prueba se pueden poner en producción fácil y
rápidamente.
Portabilidad → Independencia del Hardware.
Disponibilidad de sistemas completos probados por fabricantes.
Máxima explotación de los recursos de hardware.
Seguridad: Simulación de ambientes de trabajo para
entrenamiento/pruebas sin poner en riesgo los sistemas en
producción.
Importancia de la Virtualización refleja grandes cosas:
En promedio sólo el 10% del tiempo de una computadora está
trabajando.
“Virtualización = Liberación. Un computador o servidor puede hacer el
trabajo de muchos”
Menos del 10% de los servidores o máquinas actuales son virtual
izados
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 25
Las Ventajas más notables de esto son:
Ahorro: Aumente perceptiblemente la utilización y la productividad.
Protección: La utilización de tecnologías de virtualización facilita
mucho las soluciones.
Automatización: Reduzca los tiempos y las tareas del
aprovisionamiento.
Funcionamiento: Aumente su capacidad de trabajo, la facilidad de
reserva de recursos y los tiempos de reacción.
Simplicidad y coste: Agregue o reorganice sus recursos de
almacenamiento o cálculo y sin tiempo muerto.
Flexibilidad: Gane la independencia del hardware, la agilidad en
migraciones y la capacidad de crecimiento organizada.
Unas de las pocas Desventajas que se presentan:
Aplicaciones son más lentas
Interoperabilidad entre diferentes máquinas virtuales.
A través de pruebas se ha determinado que se logran pequeñas
mejoras en servidores (Java, de correo, servidor), Web, servidor de
base de datos, y servidor de archivos) utilizando virtualización.
Aplicaciones nativas del microprocesador
Microsoft Virtual Server (de Windows Server 2008)
Software utilizado para el desarrollo del sistema.
Para la construcción y programación del sistema de base de datos, utilizaremos
MySql y para la elaboración de las interfaces con el usuario interactuara y
manipulara la información de la base de datos usaremos las herramientas para su
mejor diseño usaremos php, java script, css, jqueary.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 26
MySql
MySQL es un sistema de administración de bases de datos relacional (RDBMS). Se
trata de un programa capaz de almacenar una enorme cantidad de datos de gran
variedad y de distribuirlos para cubrir las necesidades de cualquier tipo de
organización, desde pequeños establecimientos comerciales a grandes empresas y
organismos administrativos. MySQL compite con sistemas RDBMS propietarios
conocidos, como Oracle, SQL Server y DB2.
MySQL incluye todos los elementos necesarios para instalar el programa, preparar
diferentes niveles de acceso de usuario, administrar el sistema y proteger y hacer
volcados de datos. Puede desarrollar sus propias aplicaciones de base de datos en
la mayor parte de 10s lenguajes de programación utilizados en la actualidad y
ejecutarlos en casi todos 10s sistemas operativos, incluyendo algunos de los que
probablemente no ha oído nunca hablar. MySQL utiliza el lenguaje de consulta
estructurado (SQL). Se trata del lenguaje utilizado por todas las bases de
relacionales, que presentaremos en una sección posterior. Este lenguaje permite
crear bases de datos, así como agregar, manipular y recuperar datos en Función de
criterios específicos.
Historia de MySQL
MySQL surgió como un intento de conectar el gestor mySQL a las tablas propias de
MySQL AB, usando sus propias rutinas a bajo nivel. Tras unas primeras pruebas,
vieron que mySQL no era lo bastante flexible para lo que necesitaban, por lo que
tuvieron que desarrollar nuevas funciones. Esto resultó en una interfaz SQL a su
base de datos, con una interfaz totalmente compatible a mySQL.
Características de MySql
Las principales características de este gestor de bases de datos son las
siguientes:
1. Aprovecha la potencia de sistemas multiprocesador, gracias a su
implementación multihilo.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 27
2. Soporta gran cantidad de tipos de datos para las columnas.
3. Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP, etc.).
4. Gran portabilidad entre sistemas.
5. Soporta hasta 32 índices por tabla.
6. Gestión de usuarios y passwords, manteniendo un muy buen nivel de
seguridad en los datos.
PHP
PHP (acrónimo de "PHP: Hipertexto Preprocessor") es un lenguaje
interpretado de alto nivel embebido en páginas HTML y ejecutado en el
servidor. El PHP es un lenguaje de programación utilizado para crear
páginas web dinámicas. El PHP necesita que un servidor web con capacidad
PHP sea instalado y funcionando para poder ejecutar las páginas PHP.
A continuación se muestra una conexión de php y Mysql
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 28
El servidor va a compilar el código PHP y tratarlo en tiempo real, con la
información viniendo del cliente web, para regresarle una página web
adaptada, en tiempo real.
El servidor tiene también capacidad de seguir el camino de un usuario, así
como de identificarlo.
Las características de este tipo de programación es que posee la capacidad
de ser multiplataforma, contar con la capacidad de conexión con la mayoría
de los manejadores de base de datos que se utilizan en la actualidad, es libre
lo que se presenta como una alternativa de fácil acceso para todos, de igual
forma permite las técnicas de Programación Orientada a Objetos.
Este posee las siguientes ventajas como la de ser multiplataforma, tiene la
capacidad de ser libre y de la conectividad con MYSQL, cuenta con
bibliotecas de funciones y permite la utilización de herramientas para la
programación orientada a objetos.
Las desventajas de este tipo de programación es que promueve creación de
código desordenado y con un mantenimiento complejo, no posee adecuado
manejo de Unicode, también que es muy difícil de optimizar, está diseñado
especialmente hacia un modo de realizar aplicaciones Web que es
problemático y obsoleto y no posee una abstracción de base de datos
estándar.
AppServ
Es una herramienta opensource, Windows con apache, mysql, php y
otras adicciones, en la cual estas aplicaciones se configuran en forma
automática, lo que permite ejecutar un servidor web completo.
Como extra incorpora phpMyAdmin para el manejo de MySQL
Inmediatamente después de la instalación está disponible completamente
funcional del servidor web Apache , que se ejecuta en el equipo local, que
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 29
puede ejecutar un número ilimitado de sitios para ser muy eficaz para
desarrollar y depurar scripts PHP sin subir archivos a un servidor remoto. El
programa se distribuye gratuitamente bajo licencia GNU General Public
License y es gratis, fácil de usar web-servidor capaz de servir páginas
dinámicas. Con esta configuración, puede implementar rápidamente un
equipo hecho y derecho y el servidor web rápido, con acceso desde la red
local, sin necesidad de configuración adicional. Puede ser utilizado como un
servidor web público en la Internet
CSS
(Cascading Style Sheets, u Hojas de Estilo en Cascada) es la tecnología
desarrollada por el World Wide Web Consortium (W3C) con el fin de separar
la estructura de la presentación. A pesar de que la recomendación
oficial del grupo de trabajo de la W3C ya había alcanzado la estabilidad
requerida para que fuera soportada por los principales navegadores
comerciales, como Netscape e Internet Explorer, tan tempranamente como
en el año 1998, la situación de entonces, comúnmente conocida
como la “guerra de los navegadores”, hacía que los intereses comerciales de
las dos compañías en lucha por el mercado de usuarios de Internet se
interpusieran en el camino de las CSS.
Netscape 4 e Internet Explorer 4 incorporaron parcialmente un soporte a esta
recomendación, pero éste dejaba mucho que desear, especialmente en
Netscape 4, por lo que no era plausible la incorporación de las CSS en el
diseño de sitios salvo en un muy mínimo número de características, y esto
aún con reservas, puesto que la manera de tratar los estándares era muy
diferente y por eso ni aun así se podía asegurar una visualización correcta de
la misma hoja de estilos.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 30
El uso más amplio de las posibilidades de las CSS en Netscape 4, por
ejemplo, podía llegar a causar un"crash" en el browser sin explicación
alguna. Internet Explorer 4 tenía una mejor implementación de la
recomendación CSS nivel 1, pero, de nuevo, parcial -aunque permitía el uso
de un mayor número de características, cómo aquéllas que exceden a la
tipografía (la parte de las reglas de las CSS pensada para reemplazar al
tradicional uso de tablas en el diseño de "layouts").
La situación, hoy, es muy diferente. Netscape 4 acaparaba, según
estadísticas, el 80% de usuarios, al menos en Estados Unidos. Desde el
lanzamiento de Internet Explorer 5 -que tuvo problemas al principio, luego
solucionados mayormente con la versión 5.5-, esta situación cambió
radicalmente y hoy es éste el navegador más usado.
No obstante no incorporaba el soporte completo de las CSS nivel 1. Habría
que esperar a las recientes versiones 6, para esto, e incluso para un soporte
parcial de las CSS nivel 2.Otros navegadores, como Opera (el tercer
navegador más usado), cuya última y también reciente versión es la 6,
incluye el mismo soporte.
A diferencia de entonces, hoy, CSS ya no es una novedad, pero ahora ya no
hay pretextos para no usarla. Y es posible utilizar ciertas posibilidades más
amplias de las CSS, como el control de otras características gráficas tales
como imágenes y colores de fondo, márgenes exactos y bordes, para evitar
el trabajoso y a veces poco gratificante diseño de tablas complejas para un
"layout", que incluye frecuentemente tablas anidadas y complicados
algoritmos de combinación de celdas (me refiero a la forma en la que los
navegadores resuelven esto para su graficación), características que hacen
al archivo muy pesado para descargar, porque inundan el código con la
extensa serie de etiquetas requeridas. Y también, hoy, la "guerra de los
navegadores" ha terminado, y la W3C y los estándares empiezan a liderar el
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 31
camino, por lo que ya no hay tantas trabas para un uso más extendido,
aunque medido, de las CSS.
En vista de esta breve recapitulación, entonces, podríamos decir que los
beneficios de usar CSS son dobles. Por un lado, evitamos hacer a los
archivos demasiado pesados (excluyendo el largo código requerido para las
tablas anidadas y el añadido de características gráficas), y definimos el
"estilo visual" de un sitio entero sin necesidad de hacerlo etiqueta por
etiqueta, para cada una de las páginas. Por otro, trabajamos
con estándares, y separamos hasta cierto punto la estructura (vale decir, el
código) de la presentación, logrando una manera más nítida de trabajar, y lo
que es más: en un sencillo documento CSS, definimos lo que yo llamaría una
"plantilla gráfica" para todo un sitio. Vale decir, que cualquier cambio hecho a
un estilo CSS, se reflejará en todos los elementos que sean referidos a éste,
automáticamente,
con sólo editar un sencillo documento CSS.
Este tutorial se centra en el diseño de un documento CSS pensado para un
sitio web entero, y sobre todo con el uso medido de las características de
CSS nivel 1, aunque recomendando un uso medido de tablas para el
"esqueleto" del "layout" de las páginas (no obstante, el tutorial no cubre este
aspecto; sólo el de creación, sintaxis y edición de un documento CSS
externo enlazado a los documentos HTML). Esto implica, por una
parte, un "target" de navegador que no sea exclusivo de la "última
generación" (la cual comprende: IE 5, 5.5, 6, Netscape 6, y Opera 6). Por lo
tanto, se intenta una correcta visualización de la página también en Internet
Explorer 4. Es posible que Netscape 4 muestre la página más o menos
correctamente, pero esto no debe preocuparnos ya que es un navegador
que no soporta estándares.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 32
XAMPP
es un servidor independiente de plataforma, software libre, que consiste
principalmente en la base de datos MySQL, el servidor web Apache y los
intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del
acrónimo de X (para cualquiera de los diferentes sistemas
operativos), Apache, MySQL, PHP, Perl.
El programa está liberado bajo la licencia GNU y actúa como un servidor web
libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente
XAMPP está disponible para Microsoft
Windows, GNU/Linux, Solaris y MacOS X.
Características y requisitos
XAMPP solamente requiere descargar y ejecutar un archivo zip, tar , exe o
fkl, con unas pequeñas configuraciones en alguno de sus componentes que
el servidor Web necesitará. XAMPP se actualiza regularmente para
incorporar las últimas versiones de Apache/MySQL/PHP y Perl. También
incluye otros módulos como OpenSSL y phpMyAdmin. Para instalar XAMPP
se requiere solamente una pequeña fracción del tiempo necesario para
descargar y configurar los programas por separado. Puede encontrarse tanto
en versión completa, así como en una versión más ligera que es portátil.
Oficialmente, los diseñadores de XAMPP sólo pretendían su uso como una
herramienta de desarrollo, para permitir a los diseñadores de sitios webs y
programadores testear su trabajo en sus propios ordenadores sin ningún
acceso a Internet. En la práctica, sin embargo, XAMPP es utilizado
actualmente como servidor de sitios Web, ya que, con algunas
modificaciones, es generalmente lo suficientemente seguro para serlo. Con
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 33
el paquete se incluye una herramienta especial para proteger fácilmente las
partes más importantes.
Dobe Flash Player
Adobe Flash Player es una aplicación en forma de reproductor
multimedia creado inicialmente por Macromedia y actualmente distribuido por
Adobé. Permite reproducir archivos SWF que pueden ser creados con la
herramienta de autoría Adobe Flash, con Adobe Flex o con otras
herramientas de Adobe y de terceros. Estos archivos se reproducen en un
entorno determinado. En un sistema operativo tiene el formato de aplicación
del sistema, mientras que si el entorno es un navegador, su formato es el de
un Plug-in u objeto ActiveX.
Adobe Flash, o simplemente Flash, se refieren tanto al programa de creación
de animaciones como al reproductor. Estrictamente hablando, Adobe Flash
es el entorno de creación y Adobe Flash Player el reproductor o máquina
virtual. Sin embargo, en lenguaje coloquial, se usa el término Flash para
referirse al entorno, al reproductor e, incluso, a los archivos generados.
Java script
Es un lenguaje de programación interpretado es decir que no requiere
compilación utilizado principalmente en páginas web con una sintaxis
semejante ala del lenguaje java y el lenguaje c. al igual que java.
Java script es un lenguaje orientado a objeto propiamente dicho ya que
dispone de herencia si bien este se realiza siguiendo el paradigma de
programación basada en prototipos ya que las nuevas clases se generan
clonando las clases de base (prototipos) y extendiendo su funcionalidad.
Todos los navegadores modernos interpretan el código java script integrando
dentro de las páginas web. Para interactuar con una página web se provee al
lenguaje java script de una implementación del DOM.el lenguaje fue
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 34
inventado por brendan eich en la empresa Netscape comunications que es
la que desarrollo los primeros navegadores web comerciales.aparecion por
primera vez en el producto Netscape llamada Netscape navigator
2.0.tradicionalmente se venía utilizando en páginas web HTML para realizar
tareas y operaciones en el marco de la aplicación únicamente cliente, sin
acceso a funciones del servidor.java Script se ejecuta en el agente de
usuario al mismo tiempo que las sentencias van descargándose junto con el
código html.los autores inicialmente lo llamaron mocha y más tarde liveScript
pero fue rebautizado como java Script en un anuncio en un anuncio
conjunto entre sun microsystems y Netscape el 4 de diciembre de 1995.En
1997 los autores propusieron java script para que fuera adoptado como
estándar de la european computer manufactures association ecma que a
pesar de su nombre no es europeo como un estándar iso. Jscript de
Netscape pero con ciertas diferencias en el modelo de objeto del navegador
que hacen a ambas versiones con frecuencia incompatibles. Para evitar
estas incompatibilidades, el World wide web consortium diseño el estándar
document object model (DOM o modelo de objeto del documento en
castellano) que incorporan konqueror, las versiones 6 de internet Explorer y
Netscape navigator opera versión 7 y Mozilla desde su primera versión.
XML
Siglas en inglés de eXtensible Markup Language ('lenguaje de
marcas extensible'), es un lenguaje de marcas desarrollado por el World
Wide Web Consortium (W3C) utilizado para almacenar datos en forma
legible. Deriva del lenguaje SGML y permite definir la gramática de lenguajes
específicos (de la misma manera que HTML es a su vez un lenguaje definido
por SGML) para estructurar documentos grandes. A diferencia de otros
lenguajes, XML da soporte a bases de datos, siendo útil cuando varias
aplicaciones se deben comunicar entre sí o integrar información. (Bases de
datos Silberschatz).
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 35
XML no ha nacido sólo para su aplicación para Internet, sino que se propone
como un estándar para el intercambio de información estructurada entre
diferentes plataformas. Se puede usar en bases de datos, editores de texto,
hojas de cálculo y casi cualquier cosa imaginable.
XML es una tecnología sencilla que tiene a su alrededor otras que la
complementan y la hacen mucho más grande y con unas posibilidades
mucho mayores. Tiene un papel muy importante en la actualidad ya que
permite la compatibilidad entre sistemas para compartir la información de una
manera segura, fiable y fácil.
Ventajas de XML
Es extensible: Después de diseñado y puesto en producción, es posible
extender XML con la adición de nuevas etiquetas, de modo que se pueda
continuar utilizando sin complicación alguna.
El analizador es un componente estándar, no es necesario crear un
analizador específico para cada versión de lenguaje XML. Esto posibilita
el empleo de cualquiera de los analizadores disponibles. De esta manera
se evitan bugs y se acelera el desarrollo de aplicaciones.
Si un tercero decide usar un documento creado en XML, es sencillo
entender su estructura y procesarla. Mejora la compatibilidad entre
aplicaciones. Podemos comunicar aplicaciones de distintas plataformas,
sin que importe el origen de los datos, es decir, podríamos tener una
aplicación en Linux con una base de datos Postgres y comunicarla con
otra aplicación en Windows y Base de Datos MS-SQL Server.
Transformamos datos en información, pues se le añade un significado
concreto y los asociamos a un contexto, con lo cual tenemos flexibilidad
para estructurar documentos.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 36
Secure Hash Algorithm
La familia SHA (Secure Hash Algorithm, Algoritmo de Hash Seguro) es un
sistema de funciones hash criptográficas relacionadas de la Agencia de
Seguridad Nacional de los Estados Unidos y publicadas por el National
Institute of Standards and Technology (NIST). El primer miembro de la familia
fue publicado en 1993 es oficialmente llamado SHA. Sin embargo, hoy día,
no oficialmente se le llama SHA-0 para evitar confusiones con sus sucesores.
Dos años más tarde el primer sucesor de SHA fue publicado con el nombre
de SHA-1. Existen cuatro variantes más que se han publicado desde
entonces cuyas diferencias se basan en un diseño algo modificado y rangos
de salida incrementados: SHA-224, SHA-256, SHA-384, y SHA-
512 (llamándose SHA-2a todos ellos).
En 1998, un ataque a SHA-0 fue encontrado pero no fue reconocido para
SHA-1, se desconoce si fue la NSA quien lo descubrió pero aumentó la
seguridad del SHA-1.
SHA-256 ha sido examinado muy de cerca por la comunidad criptográfica
pública, y no se ha encontrado ningún ataque efectivo. No obstante, en el
año 2004, un número de ataques significativos fueron divulgados sobre
funciones criptográficas de hash con una estructura similar a SHA-1; lo que
ha planteado dudas sobre la seguridad a largo plazo de SHA-1.
SHA-0 y SHA-1 producen una salida resumen de 160 bits (20 bytes) de un
mensaje que puede tener un tamaño máximo de 264 bits, y se basa en
principios similares a los usados por el profesor Ronald L. Rivest del MIT en
el diseño de los algoritmos de resumen de mensaje MD4 y MD5.
La codificación hash vacía para SHA-1 corresponde a:
SHA 256 ("") = da39a3ee5e6b4b0d3255bfef95601890afd80709
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 37
HTML5
HTML5 (HyperText Markup Language, versión 5) es la quinta revisión
importante del lenguaje básico de la World Wide Web, HTML. HTML5
especifica dos variantes de sintaxis para HTML: un «clásico» HTML
(text/html), la variante conocida como HTML5 y una variante XHTML
conocida como sintaxis XHTML5 que deberá ser servida como XML). Esta es
la primera vez que HTML y XHTML se han desarrollado en paralelo.
Todavía se encuentra en modo experimental, lo cual indica la misma W3C;
aunque ya es usado por múltiples desarrolladores web por sus avances,
mejoras y ventajas.
Al no ser reconocido en viejas versiones de navegadores por sus nuevas
etiquetas, se le recomienda al usuario común actualizar a la versión más
nueva, para poder disfrutar de todo el potencial que provee HTML5.
El desarrollo de este lenguaje de marcado es regulado por el
Consorcio W3C.
HTML5 establece una serie de nuevos elementos y atributos que reflejan el
uso típico de los sitios web modernos. Algunos de ellos son técnicamente
similares a las etiquetas <div> y<span>, pero tienen un significado
semántico, como por ejemplo <nav> (bloque de navegación del sitio web)
y <footer>. Otros elementos proporcionan nuevas funcionalidades a través
de una interfaz estandarizada, como los elementos <audio> y <video>.
Mejora el elemento <canvas>, capaz de renderizar elementos 3D en los
navegadores más importantes (Mozilla, Chrome, Opera, Safari e IE).
Algunos elementos de HTML 4.01 han quedado obsoletos, incluyendo
elementos puramente de presentación, como <font> y <center>, cuyos
efectos son manejados por Hojas de estilo en cascada. También hay un
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 38
renovado énfasis en la importancia del scripting DOM para el
comportamiento de la web. 2.0
Incorpora etiquetas (canvas 2D y 3D, audio, video) con codecs para
mostrar los contenidos multimedia. Actualmente hay una lucha entre
imponer codecs libres (WebM + VP8) o privados (H.264/MPEG-4
AVC).
Etiquetas para manejar grandes conjuntos de datos: Datagrid, Details,
Menu y Command. Permiten generar tablas dinámicas que pueden
filtrar, ordenar y ocultar contenido en cliente.
Mejoras en los formularios. Nuevos tipos de datos (eMail, number, url,
datetime …) y facilidades para validar el contenido sin Javascript.
Visores: MathML (fórmulas matemáticas) y SVG (gráficos vectoriales).
En general se deja abierto a poder interpretar otros lenguajes XML.
Drag & Drop. Nueva funcionalidad para arrastrar objetos como
imágenes.
JQuery
jQuery es una biblioteca de JavaScript, creada inicialmente por John Resig,
que permite simplificar la manera de interactuar con los documentos HTML,
manipular el árbol DOM, manejar eventos, desarrollar animaciones y agregar
interacción con la técnica AJAX a páginas web. Fue presentada el 14 de
enero de 2006 en el BarCamp NYC. JQuery es la biblioteca de JavaScript
más utilizada.
jquery es software libre y de código abierto, posee un doble licenciamiento
bajo la licencia mit y la licencia pública general de GNU v2, permitiendo su
uso en proyectos libres y privativos. jquery, al igual que otras bibliotecas,
ofrece una serie de funcionalidades basadas en JavaScript que de otra
manera requerirían de mucho más código, es decir, con las funciones
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 39
propias de esta biblioteca se logran grandes resultados en menos tiempo y
espacio.
Las empresas Microsoft y Nokia anunciaron que incluirán la biblioteca en sus
plataformas. Microsoft la añadirá en su IDE Visual Studio y la usará junto con
los frameworks ASP.NET AJAX y ASP.NET MVC, mientras que Nokia los
integrará con su plataforma Web Run-Time.
Características
Selección de elementos DOM.
Interactividad y modificaciones del árbol DOM, incluyendo soporte
para CSS 1-3 y un plugin básico de XPath.
Eventos.
Manipulación de la hoja de estilos CSS.
Efectos y animaciones.
Animaciones personalizadas.
AJAX.
Soporta extensiones.
Utilidades varias como obtener información del navegador, operar con
objetos y vectores, funciones para rutinas comunes, etc.
Compatible con los navegadores Mozilla Firefox 2.0+, Internet
Explorer 6+, Safari 3+, Opera 10.6+ y Google Chrome 8+.
Adobe Dreamweaver
Es una aplicación en forma de estudio (basada en la forma de estudio de
Adobe Flash) que está destinada a la construcción, diseño y edición de sitios,
videos y aplicaciones Web basados en estándares. Creado inicialmente por
Macromedia (actualmente producido por Adobe Systems) es el programa
más utilizado en el sector del diseño y la programación web, por sus
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 40
funcionalidades, su integración con otras herramientas como Adobe Flash y,
recientemente, por su soporte de los estándares del World Wide Web
Consortium.
Sus principales competidores son Microsoft Expresión Web y BlueGriffon
(que es de código abierto) y tiene soporte tanto para edición de imágenes
como para animación a través de su integración con otras. Hasta la versión
MX, fue duramente criticado por su escaso soporte de los estándares de la
web, ya que el código que generaba era con frecuencia sólo válido para
Internet Explorer y no validaba como HTML estándar. Esto se ha ido
corrigiendo en las versiones recientes.
Se vende como parte de la suite Adobe Creative Suite. A partir de la compra
de Macromedia por parte de Adobe. Las letras CS significan Creative Suite
La gran ventaja de este editor sobre otros es su gran poder de ampliación y
personalización del mismo, puesto que en este programa, sus rutinas (como
la de insertar un hipervínculo, una imagen o añadir un comportamiento) están
hechas en Javascript-C, lo que le ofrece una gran flexibilidad en estas
materias. Esto hace que los archivos del programa no sean instrucciones de
C++ sino rutinas de Javascript que hace que sea un programa muy fluido,
que todo ello hace, que programadores y editores web hagan extensiones
para su programa y lo ponga a su gusto.
Las versiones originales de la aplicación se utilizaban como simples editores
WYSIWYG. Sin embargo, versiones más recientes soportan otras
tecnologías web como CSS, JavaScript y algunos frameworks del lado
servidor.
Dreamweaver ha tenido un gran éxito desde finales de los años 1990 y
actualmente mantiene el 90% del mercado de editores HTML. Esta
aplicación está disponible tanto para la plataforma MAC como para Windows,
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 41
aunque también se puede ejecutar en plataformas basadas en UNIX
utilizando programas que implementan las API's de Windows, tipo Wine.
Como editor WYSIWYG que es, Dreamweaver permite ocultar el código
HTML de cara al usuario, haciendo posible que alguien no entendido pueda
crear páginas y sitios web fácilmente sin necesidad de escribir código.
Algunos desarrolladores web criticaban esta propuesta ya que crean páginas
HTML más largas de lo que solían ser al incluir mucho código inútil, lo cual va
en detrimento de la ejecución de las páginas en el navegador web. Esto
puede ser especialmente cierto ya que la aplicación facilita en exceso el
diseño de las páginas mediante tablas. Además, 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).
No obstante, Adobe ha aumentado el soporte CSS y otras maneras de
diseñar páginas sin tablas en versiones posteriores de la aplicación,
haciendo que se reduzca el exceso de código.
Dreamweaver permite al usuario utilizar la mayoría de los navegadores Web
instalados en su ordenador para pre visualizar las páginas web. También
dispone de herramientas de administración de sitios dirigidas a principiantes
como, por ejemplo, la habilidad de encontrar y reemplazar líneas de texto y
código por cualquier tipo de parámetro especificado, hasta el sitio web
completo. El panel de comportamientos también permite crear JavaScript
básico sin conocimientos de código.
Con la llegada de la versión MX, Macromedia incorporó herramientas de
creación de contenido dinámico en Dreamweaver. En lo fundamental de las
herramientas HTML WYSIWYG, también permite la conexión a Bases de
Datos como MySQL y Microsoft Access, para filtrar y mostrar el contenido
utilizando tecnología de script como, por ejemplo, ASP, ASP.NET,
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 42
ColdFusion, JSP (Java Server Pages) y PHP sin necesidad de tener
experiencia previa en programación.
Un aspecto de alta consideración de Dreamweaver es su funcionalidad con
extensiones. Es decir, permite el uso de "Extensiones". Las extensiones, tal y
como se conocen, son pequeños programas, que cualquier desarrollador
web puede escribir (normalmente en HTML y Javascript) y que cualquiera
puede descargar e instalar, ofreciendo así funcionalidades añadidas a la
aplicación. 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, que van desde simple efectos rollover hasta completas cartas de
compra.
También podría decirse que, para un diseño más rápido y a la vez fácil,
podría complementarse con Fireworks en donde se podría diseñar un menú
u otras creaciones de imágenes (gif web, gif websnap, gif adaptable, jpeg
calidad superior, jpeg archivo más pequeño, gif animado websnap) para un
sitio web y después exportar la imagen creada y así utilizarla como una sola
en donde ya llevará los vínculos para dicho sitio.
CSS · Bootstrap
Bootstrap es una colección de herramientas de software libre para la
creación de sitios y aplicaciones web. Es el proyecto más popular en GitHub
y es usado por la NASA y la MSNBC junto a demás organizaciones.
El origen de Bootstrap fue desarrollado por Mark Otto y Jacbod Thornton de
Twitter, como un marco de trabajo (framework) para fomentar la consistencia
a través de herramientas internas. Antes de Bootstrap, se usaban varias
librerías para el desarrollo de interfaces de usuario, las cuales guiaban a
inconsistencias y a una carga de trabajo alta en su mantenimiento. Según el
desarrollador de Twitter Mark Otto, frente a esos desafíos: "un pequeño
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 43
grupo de desarrolladores y yo nos reunimos a diseñar y construir una nueva
herramienta interna y vimos una oportunidad de hacer más. A través de ese
proceso, nos vimos construir algo mucho más sustancial que otra
herramienta interna más. Meses después, terminamos con una primera
versión de Bootstrap como una manera de documentar y compartir bienes y
patrones de diseño comunes dentro de la compañía.
El primer desarrollo en condiciones reales ocurrió durante la primera
"Semana de Hackeo" (Hackweek) de Twitter.Mark Otto mostró a algunos
colegas como acelerar el desarrollo de sus proyectos con la ayuda de la
herramienta de trabajo. Como resultado, decenas de temas se han
introducido en el marco de trabajo.
En agosto del 2011, Twitter liberó a Bootstrap como código abierto. En
febrero del 2012, se convirtió en el proyecto de desarrollo más popular de
GitHub.
Las Características Bootstrap tiene un soporte relativamente incompleto
para HTML5 y CSS 3, pero es compatible con la mayoría de los navegadores
web. La información básica de compatibilidad de sitios web o aplicaciones
está disponible para todos los dispositivos y navegadores. Existe un
concepto de compatibilidad parcial que hace disponible la información básica
de un sitio web para todos los dispositivos y navegadores. Por ejemplo, las
propiedades introducidas en CSS3 para las esquinas redondeadas,
gradientes y sombras son usadas por Bootstrap a pesar de la falta de
soporte de navegadores antiguos. Esto extiende la funcionalidad de la
herramienta, pero no es requerida para su uso.
Desde la versión 2.0 también soporta diseños sensibles. Esto significa que el
diseño gráfico de la página se ajusta dinámicamente, tomando en cuenta las
características del dispositivo usado (Computadoras, tabletas, teléfonos
móviles).
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 44
Bootstrap es de código abierto y está disponible en GitHub. Los
desarrolladores están motivados a participar en el proyecto y a hacer sus
propias contribuciones a la plataforma.
La Estructura y Función de Bootstrap es modular y consiste esencialmente
en una serie de hojas de estilo LESS que implementan la variedad de
componentes de la herramienta. Una hoja de estilo llamada bootstrap.less
incluye los componentes de las hojas de estilo. Los desarrolladores pueden
adaptar el mismo archivo de Bootstrap, seleccionando los componentes que
deseen usar en su proyecto.
Los ajustes son posibles en una medida limitada a través de una hoja de
estilo de configuración central. Los cambios más profundos son posibles
mediante las declaraciones LESS.
El uso del lenguaje de hojas de estilo LESS permite el uso de variables,
funciones y operadores, selectores anidados, así como clases mixin.
Desde la versión 2.0, la configuración de Bootstrap también tiene una opción
especial de "Personalizar" en la documentación. Por otra parte, los
desarrolladores eligen en un formulario los componentes y ajustes deseados,
y de ser necesario, los valores de varias opciones a sus necesidades. El
paquete consecuentemente generado ya incluye la hoja de estilo CSS pre-
compilada.
Sistema de cuadrilla y diseño sensible
Bootstrap viene con una disposición de cuadrilla estándar de 940 píxeles de
ancho. Alternativamente, el desarrollador puede usar un diseño de ancho-
variable. Para ambos casos, la herramienta tiene cuatro variaciones para
hacer uso de distintas resoluciones y tipos de dispositivos: teléfonos móviles,
formato de retrato y paisaje, tabletas y computadoras con baja y alta
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 45
resolución (pantalla ancha). Esto ajusta el ancho de las columnas
automáticamente.
Entendiendo la hoja de estilo CSS
Bootstrap proporciona un conjunto de hojas de estilo que proveen
definiciones básicas de estilo para todos los componentes de HTML. Esto
otorga una uniformidad al navegador y al sistema de anchura, da una
apariencia moderna para el formateo de los elementos de texto, tablas y
formularios.
Componentes re-usables
En adición a los elementos regulares de HTML, Bootstrap contiene otra
interfaz de elementos comúnmente usados. Ésta incluye botones con
características avanzadas (e.g grupo de botones o botones con opción de
menú desplegable, listas de navegación, etiquetas horizontales y verticales,
ruta de navegación, paginación, etc.), etiquetas, capacidades avanzadas de
miniaturas tipográficas, formatos para mensajes de alerta y barras de
progreso.
Plug-ins de JavaScript
Los componentes de JavaScript para Bootstrap están basados en la
librería jQuery de JavaScript. Los plug-ins se encuentran en la herramienta
de plug-in de jQuery. Proveen elementos adicionales de interfaz de usuario
como diálogos, tooltips y carruseles. También extienden la funcionalidad de
algunos elementos de interfaz existentes, incluyendo por ejemplo una función
de auto-completar para campos de entrada (input). La versión 2.0 soporta los
siguientes plug-ins de JavaScript: Modal, Dropdown, Scrollspy, Tab, Tooltip,
Popover, Alert, Button, Collapse, Carousel y Typeahead.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 46
Una implementación de Twitter Bootstrap usando el Dojo Toolkit también
está disponible. Es llamada Dojo Bootstrap y es un puerto de los plug-ins de
Twitter Bootstrap. Usa el código Dojo al 100% y tiene soporte para AMD
(Asynchronous Module Definition).
Diseñador de base de datos
(batini, ceri, navathe, & shamkant 1995).un buen diseño de base de datos
garantiza su fácil mantenimiento. Los datos se almacenan en tablas y daca
tabla contiene datos acerca del tema por ejemplo clientes, por tanto cuando
se actualiza un parte de los datos concreta como una dirección se hace en
un solo lugar pero ese cambio aparece automáticamente en toda la base de
datos.
El primer paso para diseñar una base de datos es determinar su finalidad y
como se va a utilizar.
o Determinar la finalidad de la base de datos.
o Determinar los campos necesarios en la base de datos.
o Determinar a qué tabla pertenece cada campo
o Identificar el campo o los campos con valores únicos en daca registro.
o Determinar las relaciones entre las tablas.
o Perfeccionar el diseño.
o Utilidad en una base de datos
o Ordenar datos
o Búsquedas
o Cálculos y sumarios.
Aplicaciones de los lenguajes de programación.
API
Una API (interfaz de programación de aplicaciones) es un conjunto de
funciones que permiten al programador acceder a servicios de una aplicación
a través del uso de un lenguaje de programación.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 47
Una API ofrece al programador un cierto nivel de abstracción que en
mascara la complejidad de acceso a un sistema o aplicación proponiéndole
un conjunto de funciones de las cuales solo se conocen los parámetros y
los valores devueltos asimismo por analogía con un automóvil el conductor
no necesita conocer la mecánica del motor para conducir el automóvil.
El conductor solo tiene acceso a la interfaz compuesta por el volante los
pedales (acelerador, embargue, freno) los controles (indicadores luces
delanteras cajas de cambios) interruptores (luces de emergencia, luces
antiniebla, bocina, etc.).en cierta forma es simular a la interfaz presentada el
usuario.
Características
Una interfaz de programación representa a una interfaz de comunicación
entre componentes de software.se trata del conjunto de llamadas a ciertas
bibliotecas que ofrecen acceso a ciertos servicios desde los procesos y
representa un método para conseguir abstracción en la programación
generalmente (aunque no necesariamente) entre los niveles o capas de
inferiores y los superiores de software. Uno de los principales propósito de
una API consiste en proporcionar un conjunto de funciones de uso
general por ejemplo para dibujar ventanas o iconos en la pantalla. De esta
forma los programadores se benefician de las ventajas de la API haciendo
uso de su funcionalidad evitándose el trabajo de programar todo desde el
principio. Las APIS asimismo son abstractas; el software que proporciona
una cierta API generalmente es llamado la implementación de esa API.
Framework
La palabra inglesa "framework" (marco de trabajo) define, en términos
generales, un conjunto estandarizado de conceptos, prácticas y criterios para
enfocar un tipo de problemática particular que sirve como referencia, para
enfrentar y resolver nuevos problemas de índole similar.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 48
En el desarrollo de software, un framework o infraestructura digital, es una
estructura conceptual y tecnológica de soporte definido, normalmente con
artefactos o módulos de software concretos, que puede servir de base para
la organización y desarrollo de software. Típicamente, puede incluir soporte
de programas, bibliotecas, y un lenguaje interpretado, entre otras
herramientas, para así ayudar a desarrollar y unir los diferentes componentes
de un proyecto.
Representa una arquitectura de software que modela las relaciones
generales de las entidades del dominio, y provee una estructura y una
especial metodología de trabajo, la cual extiende o utiliza las aplicaciones del
dominio.
Siendo muy simple, es un esquema (un esqueleto, un patrón) para el
desarrollo y/o la implementación de una aplicación. Sí, es una definición muy
genérica, pero también puede serlo un framework: sin ir más lejos, el
paradigma MVC (Model-View-Controller) dice poco más que "separa en tu
aplicación la gestión de los datos, las operaciones, y la presentación". En el
otro extremo, otros frameworks pueden llegar al detalle de definir los
nombres de ficheros, su estructura, las convenciones de programación, etc.
Pongamos un ejemplo: una aplicación web que utilice Java como lenguaje de
programación puede implementarse de multitud de formas, mediante servlets
y JSPs. Hay algunas convenciones que es necesario seguir, como usar un
fichero de configuración web.xml, pero el programador sigue sin tener un
patrón claro a seguir para la creación de servlets, clases, JSPs, etc.
En una primera estandarización, la utilización de una arquitectura MVC
aconseja que separemos la lógica de la aplicación (en los servlets) de la
presentación (usando JSPs); en concreto, no sería correcto codificar lógica
de aplicación o accesos a base de datos dentro de los JSP.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 49
Un paso más allá: utilizando Faces como framework, la estructura de la
aplicación queda todavía más definida: un único servlet (FacesServlet) va a
controlar el flujo de la aplicación; además, el uso de un fichero concreto
(faces-config.xml) permite crear la navegación de la aplicación, definir los
objetos (beans) pasados como parámetros, etc., todo ello sin necesidad de
codificarlo en Java o JSP.
Los frameworks no necesariamente están ligados a un lenguaje concreto,
aunque sea así en muchas ocasiones. En el cada vez más popular Ruby on
Rails, 'Ruby' es el lenguaje de programación y 'Rails' el framework; por otro
lado, Java Server Faces está orientado a desarrollos en Java. Sin embargo,
nada impide definir el mismo framework para lenguajes diferentes: por
ejemplo, existe un framework llamado Biscuit cuyo objetivo es prácticamente
convertirse en un "PHP on Rails". Eso sí, cuanto más detallado es el
framework, más necesidad tendrá de ceñirse a un lenguaje concreto.
También es posible que el framework defina una estructura para una
aplicación completa, o bien sólo se centre en un aspecto de ella. Siguiendo
con los ejemplos, Ruby on Rails ofrece un marco para el desarrollo completo
de una aplicación web, mientras que Java Server Faces está más orientado
a la interfaz de usuario.
Las ventajas tienen utilizar un framework las que se derivan de utilizar un
estándar; entre otras: El programador no necesita plantearse una estructura
global de la aplicación, sino que el framework le proporciona un esqueleto
que hay que "rellenar".
Facilita la colaboración. Cualquiera que haya tenido que "pelearse" con el
código fuente de otro programador (¡o incluso con el propio, pasado algún
tiempo!) sabrá lo difícil que es entenderlo y modificarlo; por tanto, todo lo que
sea definir y estandarizar va a ahorrar tiempo y trabajo a los desarrollos
colaborativos.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 50
Es más fácil encontrar herramientas (utilidades, librerías) adaptadas al
framework concreto para facilitar el desarrollo. Los frameworks no
necesariamente están ligados a un lenguaje concreto, aunque sea así en
muchas ocasiones. En el cada vez más popular Ruby on Rails, 'Ruby' es el
lenguaje de programación y 'Rails' el framework; por otro lado, Java Server
Faces está orientado a desarrollos en Java. Sin embargo, nada impide definir
el mismo framework para lenguajes diferentes: por ejemplo, existe un
framework llamado Biscuit cuyo objetivo es prácticamente convertirse en un
"PHP on Rails". Eso sí, cuanto más detallado es el framework, más
necesidad tendrá de ceñirse a un lenguaje concreto.
También es posible que el framework defina una estructura para una
aplicación completa, o bien sólo se centre en un aspecto de ella. Siguiendo
con los ejemplos, Ruby on Rails ofrece un marco para el desarrollo
completo de una aplicación web, mientras que Java Server Faces está más
orientado a la interfaz de usuario.
Siendo muy simple, es un esquema (un esqueleto, un patrón) para el
desarrollo y/o la implementación de una aplicación. Sí, es una definición muy
genérica, pero también puede serlo un framework: sin ir más lejos, el
paradigma MVC (Model-View-Controller) dice poco más que "separa en tu
aplicación la gestión de los datos, las operaciones, y la presentación". En el
otro extremo, otros frameworks pueden llegar al detalle de definir los
nombres de ficheros, su estructura, las convenciones de programación, etc.
Pongamos un ejemplo: una aplicación web que utilice Java como lenguaje de
programación puede implementarse de multitud de formas, mediante servlets
y JSPs. Hay algunas convenciones que es necesario seguir, como usar un
fichero de configuración web.xml, pero el programador sigue sin tener un
patrón claro a seguir para la creación de servlets, clases, JSPs, etc.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 51
En una primera estandarización, la utilización de una arquitectura MVC
aconseja que separemos la lógica de la aplicación (en los servlets) de la
presentación (usando JSPs); en concreto, no sería correcto codificar lógica
de aplicación o accesos a base de datos dentro de los JSP.
Un paso más allá: utilizando Faces como framework, la estructura de la
aplicación queda todavía más definida: un único servlet (FacesServlet) va a
controlar el flujo de la aplicación; además, el uso de un fichero concreto
(faces-config.xml) permite crear la navegación de la aplicación, definir los
objetos (beans) pasados como parámetros, etc., todo ello sin necesidad de
codificarlo en Java o JSP.
PROCEDIMIENTOS Y DESCRIPCION DE LAS ACTIVIDADES
REALIZADAS.
Todo proyecto de ingeniería tiene sus fines ligados a la obtención de un
producto, proceso o servicio que es necesario generar a través de diversas
actividades. Algunas de estas actividades pueden agruparse en fases por
que globalmente contribuye a obtener un producto intermedio necesario para
continuar hacia el producto final y facilitar la gestión del proyecto.
Los sistemas y aplicaciones más basadas en web (webApps) ofrecen un
complejo arreglo de contenido y funcionabilidad a una amplia población de
usuario final. Ingeniería web (IWEB).es el proceso con el que se crea
WebApps de alta calidad. La IWEB no es un clon perfecto de la ingeniería
del software pero toma prestado muchos conceptos y principios
fundamentales de ella. Además el proceso IWEB acentúa actividades técnica
y administrativa similares. Existen sutiles diferencias en la manera como se
dirigen actividades pero el método primordial dicta un enfoque disciplinado
para el desarrollo de un sistema basado en la computadora.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 52
¿Quién lo hace? Los ingenieros web y los desarrolladores del contenido que
non es técnico crean las webApps.
¿Por qué es importante? Conforme las WebApps se integran cada vez cada
vez más en las estrategias de negocios para pequeñas y grandes empresas
(por ejemplo, en el comercio electrónico) crece en importancia la necesidad
de construir sistemas confiables prácticos y adaptables por tanto es
necesario un enfoque disciplinado en cuanto al desarrollo de webApps
¿Cuáles son los pasos? Al igual que cualquier disciplina de ingeniería, la
IWEB aplica un enfoque genérico que se suaviza mediante estrategia,
tácticas y métodos especializados. El proceso IWEB y se modelan requisitos
y el diseño de la web App. El sistema se construye con tecnologías y
herramientas especializados asociadas con la web. Entonces se entregan a
los usuarios finales y se evalúa mediante criterios tanto técnicos como
empresariales. Dado que la WebApps evoluciona continuamente se debe
establecer mecanismos para el control de configuraciones el aseguramiento
de la calidad y el soporte continúo.
¿Cuál es el producto obtenido? Se producen muchos productos de trabajo
IWeb.el resultado finales es la Web App operativa.
Metodología IWEB
Comunicación con el Cliente: Dentro del proceso IWeb la comunicación
con el cliente se caracteriza por medio de dos grandes tareas: el análisis del
negocio y la formulación. El análisis del negocio define el contexto
empresarial-organizativo para la Web App. Además, se identifican los
participantes, se predicen los potenciales cambios en el ambiente o los
requisitos del negocio, y se define la integración entre la Web App y otras
aplicaciones de negocios, base de datos y funciones. La formulación es una
actividad de recopilación de requisitos que involucra a todos los
participantes. El intento es describir el problema que la Web App habrá de
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 53
resolver (junto con los requisitos básicos para la Web App) con el
aprovechamiento de la mejor información disponible. Además, se intenta
identificar áreas de incertidumbres y donde ocurrirán cambios potenciales.
Planeación: Se crea el plan del proyecto para el incremento de la Web App.
El plan consiste de una definición de tareas y un calendario de plazos
respecto al periodo (usualmente medido en semanas) proyectado para el
desarrollo del incremento de la Web App.
Modelado: Las labores convencionales de análisis y diseño de ingeniería del
software se adaptan al desarrollo de la Web App, se mezclan y luego se
funden en la actividad de modelado IWeb. El intento es desarrollar análisis
“rápidos” y modelos de diseños que definan requisitos y al mismo tiempo
representen una Web App que los satisfará.
Construcción: Las herramientas y la tecnología IWeb se aplican para
construir la Web App que se ha modelado. Una vez que se construye el
incremento de Web App, se dirige una serie de pruebas rápidas para
asegurar que se describan los errores en el diseño (es decir: contenido,
arquitectura, interface, navegación). Pruebas adicionales abordan otras
características Web App.
Despliegue: La Web App se configura para su ambiente operativo, se
entrega a los usuarios finales y luego comienza un periodo de evaluación. La
retroalimentación acerca de la evaluación se presenta al equipo de IWeb y el
incremento se modifica conforme se requiera.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 54
Atributos De Los Sistemas Y Aplicaciones Web
En la gran mayoría de las WebApps se encuentran los siguientes atributos:
Intensidad de Red: Una Web App reside en una red y debe satisfacer las
necesidades de una variada comunidad de clientes. Una Web App puede
residir en la Internet (y, en consecuencia, permitir una comunicación mundial
abierta). Alternativamente, una aplicación puede colocarse en una Intranet (lo
que implementa la comunicación en una organización) o una Extranet
(comunicación inter-red).
Concurrencia: Un gran número de usuarios pueden tener acceso a la Web
App al mismo tiempo. En muchos casos, los patrones de uso entre los
usuarios finales variaran enormemente.
Carga Impredecible: El número de usuarios de la Web App puede variar en
órdenes de magnitud de día con día. El lunes pueden mostrarse 100
usuarios, el martes pueden usar el sistema 10, 000.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 55
Desempeño: Si un usuario de Web App debe esperar demasiado (para
ingresar, para procesamiento en el lado del servidor, para formateo y
despliegue en el lado del cliente) puede decidir irse a cualquier otra parte.
Disponibilidad: Aunque la expectativa de una disponibilidad del total es
poco razonable, los usuarios de las WebApps populares con frecuencia
demandan acceso sobre una base de “24/7/365”. Los usuarios en Australia o
Asia pueden demandar acceso durante momentos cuando las tradicionales
aplicaciones de software doméstico en Norteamérica pueden estar fuera de
línea por mantenimiento.
Sensibilidad del Contenido: La calidad y naturaleza estética del contenido
sigue siendo un importante determinante de la calidad de una Web App.
Evolución Continua: A diferencia del software de aplicación convencional,
que evoluciona a lo largo de una serie de planeadas liberaciones espaciadas
cronológicamente, las aplicaciones Web evolucionan de manera continua. No
es raro que algunas Web App (específicamente, su contenido) se actualicen
sobre una agenda minuto a minuto, o que el contenido sea calculado de
manera independiente para cada solicitud.
Inmediatez: Aunque la inmediatez – la apremiante necesidad de poner un
software en el mercado rápidamente – es una característica de muchos
dominios de aplicación, las WebApps con frecuencia muestran un tiempo
para comercializar que puede ser cuestión de unos cuantos días o semanas.
Los ingenieros Web deben aplicar métodos de planeación, análisis, diseño,
implementación y puesta a prueba que han sido adaptados a los apretados
tiempos requeridos para el desarrollo de WebApps.
Seguridad: Puesto que las WebApps están disponibles mediante el acceso
a la red, es difícil, si no imposible, limitar la población de usuarios finales que
pueden tener acceso a la aplicación. Con la finalidad de proteger el
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 56
contenido confidencial y ofrecer modos seguros de transmisión de datos, se
deben implementar fuertes medidas de seguridad a lo largo de la
infraestructura que sustenta una Web App y dentro de la aplicación misma.
Estética: Una parte innegable de la apariencia de una Web App es su
presentación y la disposición de sus elementos. Cuando una aplicación se
diseña para comercializar o vender productos o ideas, la estética puede tener
tanto que ver con el éxito como el diseño técnico.
Estos atributos generales se aplican a todas las WebApps, pero con
diferentes grados de influencia.
Informativo: se proporciona contenido de solo lectura con navegación y
enlaces simples.
Descarga: un usuario descarga información del servidor apropiado.
Personalizable: el usuario personaliza el contenido, según sus necesidades
específicas.
Interacción: la comunicación entre una comunidad de usuarios ocurre por
medio de cuartos de charla, tableros de anuncios o mensajería instantánea.
Entrada del Usuario: la entrada con base en formularios es el principal
mecanismo para las necesidades de la comunicación.
Orientada a Transacciones: el usuario hace una solicitud (por ejemplo,
realiza un pedido) que ejecuta la Web App.
Orientada a Servicios: la aplicación proporciona un servicio al usuario; por
ejemplo, lo asesora en la determinación del pago de una hipoteca.
Portal: la aplicación canaliza al usuario hacia otro contenido o servicios Web
fuera del dominio del portal de aplicación
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 57
Acceso a una Base de Datos: el usuario consulta una gran base de datos y
extrae información.
Almacén de Datos: el usuario consulta una colección de grandes bases de
datos y extrae información.
CAPITULO lV
RESULTADOS, PLANOS, GRÁFICAS, PROTOTIPOS Y PROGRAMAS
Entidades de la bd
Entidades de la bd
Usu_registrado
Liberación_crédito
Alumno
Curso
Participantes
Proyecto
Acep_proyecto
Estas son las entidades (tablas) que forman parte de la base de datos y
ayudan para poder realizar las tareas de registro de alumno, ingresos,
asignación de asesor, modificación de registro, reportes y e impresión de
formatos.
A continuación se describen cada una de las entidades que forman parte de
la base de datos.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 58
Usu_registrado:
Es utilizado para almacenar los datos de los usuarios que manejaran la
aplicación web así como también la respectiva contraseña para el acceso de
la misma página web.
Liberación_crédito:
Guarda toda la información general de los cursos que tomaron los alumnos
para llevar un control sobre la misma.
Alumno:
Es utilizada para almacenar los datos de los alumnos que están
inscritos en la carrera de ingeniería en sistemas computacionales, para
llevar el control de los alumnos existentes.
Curso:
Guardar todo la información relevante relacionada con cursos académicos
impartidos por los docentes de la academia de ingeniería en sistemas
computacional.
Participantes:
Aquí se utilizara para guardar datos personales de los alumnos a participar
en los cursos académicos.
Proyecto:
Guarda la información general de los proyectos que se realizan en
residencias profesional, los cuales serán modificados por el usuario final.
Acep_proyecto:
Se almacenara toda información que contenga todas las aceptaciones de
los proyectos de residencia.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 59
Descripción de los datos de la BD
Se mostrara a través de las siguientes tablas, la descripción de los campos
que fueron identificados en cada una de las entidades.
Entidad: Usu_registrado
Campo Dominio Longitud Tipo de
campo
Validación
*PK
idusua_registrado
Numero único de
identificación del
usuario.
200 bytes id_automat
ico
Entrada
Obligatoria
nombre Nombre de
usuario.
130 bytes varchar entrada
obligatoria
apellidos Apellidos del
usuario.
145 bytes varchar Entrada
obligatoria
email Email del usuario
registrado.
132 bytes varchar Entrada
obligatoria
Usuario Nombre de
usuario registrado.
123 bytes varchar Entrada
obligatoria
contraseña Contraseña del
usuario.
122 bytes varchar Entrada
obligatoria
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 60
Entidad: liberación crédito
Alumno:
Campo Dominio Longitud Tipo de
campo
Validación
*PK nom_alum Nombre del
alumno.
200 bytes id_automat
ico
Entrada
Obligatoria
Nombre_cur Nombre del curso. 130 bytes varchar entrada
obligatoria
Nombre_cong Nombre del
congreso.
145 bytes varchar Entrada
obligatoria
Extraescolar Actividad que
realizo
132 bytes varchar Entrada
obligatoria
Docente_liber Docente que lo
está liberando.
123 bytes varchar Entrada
obligatoria
otros Otras actividades
que tomo el
alumno.
122 bytes varchar Entrada
obligatoria
Campo Dominio Longitud Tipo de
campo
Validación
*PK idalumnos Nuemro único del
alumno.
200 bytes id_automatico Entrada
Obligatoria
matricula Identificación del
alumno de.
130 bytes varchar entrada
obligatoria
Nombre Nombre del
alumno.
145 bytes varchar Entrada
obligatoria
apellidos Apellidos del 132 bytes varchar Entrada
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 61
Curso:
alumno. obligatoria
semestre Semestre que
cursa el alumno.
123 bytes varchar Entrada
obligatoria
Gra_grup Grado y grupo que
cursa el alumno.
122 bytes varchar Entrada
obligatoria
Campo Dominio Longitud Tipo de
campo
Validación
*PK idcurso Identificación del
curso.
200 bytes id_automat
ico
Entrada
Obligatoria
nomcurso Nombre del curso. 130 bytes varchar entrada
obligatoria
descripcion Descripción del
curso
145 bytes varchar Entrada
obligatoria
docimpart Docente que
imparte
132 bytes varchar Entrada
obligatoria
carrera Tipo de carrera 123 bytes varchar Entrada
obligatoria
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 62
Participantes:
Proyecto:
Campo Dominio Longitud Tipo de
campo
Validación
*PK idparticipantes Identificación del
participante
200 bytes id_automat
ico
Entrada
Obligatoria
Nombre Nombre de
participantes
130 bytes varchar entrada
obligatoria
apellidos Apellidos del
participantes.
145 bytes varchar Entrada
obligatoria
correo Correo del
participante.
132 bytes varchar Entrada
obligatoria
Docente que lo
está liberando.
123 bytes varchar Entrada
obligatoria
Gra_grup Grado y grupo del
participante.
122 bytes varchar Entrada
obligatoria
Campo Dominio Longitud Tipo de
campo
Validación
*PK idproyecto Numero de
identificaion del
proyecto
200 bytes id_automat
ico
Entrada
Obligatoria
Nom_proy Nombre del
proyecto.
130 bytes varchar entrada
obligatoria
Tipo_proy Tipo de proyecto. 145 bytes varchar Entrada
obligatoria
periodo Periodo del 132 bytes varchar Entrada
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 63
Acep_proyecto:
proyecto obligatoria
Nom_empresa Nombre de la
empresa.
123 bytes varchar Entrada
obligatoria
Gra_grup Grado y grupo del
residente.
122 bytes varchar Entrada
obligatoria
Campo Dominio Longitud Tipo de
campo
Validación
*PK acep_proyecto Identificación del
proyecto
acceptado
200 bytes id_automatico Entrada
Obligatoria
Nom_proyecto Nombre del
proyecto.
130 bytes varchar entrada
obligatoria
Nom_asesor Nombre del
asesor.
145 bytes varchar Entrada
obligatoria
Nom_alumno Nombre del
alumno
132 bytes varchar Entrada
obligatoria
Periodo proyecto Periodo del
proyecto.
123 bytes varchar Entrada
obligatoria
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 64
Cronograma de actividad
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 65
Codificacion y diseño de la pagina web
Inicio de la pagina web
<!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" xml:lang="en" lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"
/><title>"PORTAL WEB ISC-INF"</title><!-- CSS --><link rel="stylesheet"
href="css/style.css" type="text/css" media="screen" />
<!--[if IE 6]><link rel="stylesheet" type="text/css" media="screen" href="css/ie-hacks.css"
/><script type="text/javascript" src="js/DD_belatedPNG.js"></script><script>/* EXAMPLE
*/DD_belatedPNG.fix('*')/script<![endif]--><!--[if IE 7]><link rel="stylesheet" href="css/ie7-
hacks.css" type="text/css" media="screen" /><![endif]--><!--[if IE 8]><link rel="stylesheet"
href="css/ie8-hacks.css" type="text/css" media="screen" /><![endif]--><!-- ENDS CSS --><!--
prettyPhoto --><link rel="stylesheet" href="js/prettyPhoto/css/prettyPhoto.css" type="text/css"
media="screen" /><!-- ENDS prettyPhoto --><!-- JS --><script type="text/javascript"
src="js/jquery_1.4.2.js"></script><script type="text/javascript"
src="js/jqueryui.js"></script><script type="text/javascript" src="js/easing.js"></script><script
type="text/javascript" src="js/jquery.cycle.all.js"></script><script
type="text/javascript"src="js/tooltip/jquery.tools.min.js"></script><script type="text/javascript"
src="js/filterable.pack.js"></script><script
type="text/javascript"src="js/prettyPhoto/js/jquery.prettyPhoto.js"></script> <script
type="text/javascript" src="js/chirp.js"></script><script
type="text/javascript"src="js/jquery.tabs/jquery.tabs.pack.js"></script><script
type="text/javascript" src="js/custom.js"></script><!-- ENDS JS --><!-- Cufon --><script
src="js/cufon-yui.js" type="text/javascript"></script><script src="js/fonts/bebas-
neue_400.font.js" type="text/javascript"></script> <!-- /Cufon --><!-- superfish --><link
rel="stylesheet" type="text/css" media="screen" href="css/superfish-custom.css" /> <script
type="text/javascript" src="js/superfish-1.4.8/js/hoverIntent.js"></script><script
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 66
type="text/javascript" src="js/superfish-1.4.8/js/superfish.js"></script> <!-- ENDS superfish --
><!-- tabs --> <link rel="stylesheet" href="css/jquery.tabs.css" type="text/css" media="print,
projection, screen" / <!-- Additional IE/Win specific style sheet (Conditional Comments) -->
<!--[if lte IE 7]><link rel="stylesheet" href="css/jquery.tabs-ie.css" type="text/css"
media="projection, screen"> <![endif]--><!-- ENDS tabs --></head> <body>
<!-- HEADER --><div id="home-header"><div class="degree"><!-- wrapper --><div class="wrapper"><a href="index.html"><img src="img/logoiscinf.png" alt="Logo" width="245" height="117" id="logo" /></a><!-- search --><div class="top-search"> <form method="get" id="searchform" action=""><div><input type="text" value="Search..." name="s" id="s" onfocus="defaultInput(this)" onblur="clearInput(this)" /> <input type="submit" id="searchsubmit" value=" " /></div></form></div><!-- ENDS search --> <!-- navigation --> <div id="nav-holder"> <ul id="nav" class="sf-menu"> <li class="current_page_item"><a href="index.html">INICIO</a> <ul> <li><a href="index-3d.html">INICIO EN 3D</a></li> </ul> </li> <li><a href="#">NUESTRO TECNOLOGICO</a> <ul> <li><a href="mision_vision.html">MISION Y VISION</a></li> <li><a href="about-styled.html">DIRECTORIO ADMINISTRATIVO</a></li> </ul> </li> <li><a href="#">BANCO DIGITAL</a> <ul> <li><a href="about-more.html">RESIDENCIAS</a></li> <li><a href="aceptacion.php">RESULTADO DE ANTEPROYECTOS</a></li> <li><a href="about-accordion.html">ANTOLOGIAS Y MANUALES</a></li> </ul> </li> <li><a href="#">CURSOS</a> <ul> <li><a href="curso/salones.php">INGENIERIA EN SISTEMAS COMPUTACIONALES</a></li> <li><a href="gallery-3.html">INGENIERIA EN INFORMATICA</a></li> </ul> </li> <li ><a href="blog.html">TECNOLOGIAS</a></li> <li><a href="contact.html">CONTACT</a></li> <li><a href="#">SERVICIOS</a>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 67
<ul> <li><a href="#">OFERTA EDUCATIVA ISC</a></li> <li><a href="about-toggle.html">OFERTA EDUCATIVA INF</a></li> <li><a href="becas.html">BECAS</a></li> <li><a href="about-accordion.html">CENTRO DE COMPUTO</a></li> <li><a href="calendario/index.php">CALENDARIO ESCOLAR</a></li> </ul> </li> <li><a href="#">ADMIN</a> <ul> <li><a href="_admin/index.php">ADMIN ISC</a></li> <li><a href="#">ADMIN INF</a></li> </ul> </li> </div> <!-- ENDS navigation --> </div> <!-- ENDS HEADER-wrapper --> </div> </div> <!-- ENDS HEADER --> <!-- MAIN --> <div id="main"> <!-- wrapper --> <div class="wrapper"> <!-- home-content --> <div class="home-content"> <!-- slideshow --> <div id="slideshow"> <a href="#" id="prev"></a> <a href="#" id="next"></a> <a href="" id="slideshow-link" ><span></span></a> <!-- slides --> <ul id="slides"> <li><a href="#1"><img src="images/1.jpg" alt="Imagen" /></a></li> <li><a href="#2"><img src="images/2.jpg" alt="Imagen" /></a></li> <li><a href="#3"><img src="images/3.jpg" alt="Imagen" /></a></li> </ul> <!-- ENDS slides --> </div> <!-- ENDS slideshow --> <!-- headline --> <div class="headline"> <a href="http://www.itsacayucan.edu.mx" target="_blank" >INSTITUTO TECNOLOGICO SUPERIOR DE ACAYUCAN</a>"Tecnologia de Excelencia"
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 68
</div> <!-- ENDS headline --> <div class="shadow-divider"></div> <!-- front-left-col --> <div class="front-left-col"> <div class="bullet-title"> <div class="big">NOTICIAS RECIENTES</div> <div class="small">UNA LISTA DE NOVEDADES RECIENTES</div> </div> <!-- news list --> <ul class="news-list"> <li> <div class="news-title"><a href="#">Portal de ISC ahora en Facebook</a></div> <div class="news-brief"> Debido a la demanda en el ambito de redes sociales la Academia de Ingenieria en Sistemas Computacionales se ha dado a la tarea de la creacion de su nuevo portal en Facebook <a href="https://www.facebook.com/AcademiaIngsist">www.facebook.com/AcademiaIngsist</a> </div> <div class="news-date">14 Enero 2014</div> </li> <li> <div class="news-title"><a href="#">Ganadores del Concurso de Programación</a></div> <div class="news-brief"> Aqui los ganadores de el concurso de Programacion que se realizo en el Instituto Tecnologico Superior de Acayucan de la Carrera de Ingenieria en Sistemas Computacionales. </div> <div class="news-date">14 Enero, 2014</div> </li> <li> <div class="news-title"><a href="#">Globos de Camboya</a></div> <div class="news-brief"> Gran exibicion de Globos de Cambolla en el Tecnologico, dicho evento organizado por el MTI. Abraham Alor de los Santos, conto con la partiipacion de la carrera de Ingenieria en Sistemas Computacionales. </div> <div class="news-date">14 Enero, 2014</div> </li> </ul> <!-- ENDS news-list --> <p><a href="#" class="link-button right"><span>MORE POSTS</span></a></p> </div> <!-- ENDS front-left-col -->
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 69
<!-- front-right-col--> <div class="front-right-col"> <div class="bullet-title"> <div class="big">NOTICIAS DESTACADAS</div> <div class="small">SELECCIONA LA NOTICIA Y ENTERATE DE LAS NOVEDADES DE LA CARRERA DE ISC E INF</div> </div> <ul class="blocks-holder"> <li class="block"> <div class="block-ribbon"> <div class="left"> <div class="block-title"><a href="#">PAGINA OFICIAL DE ISC EN FACEBOOK</a></div> <div class="block-date">14 Enero 2014</div> </div> <div class="right"></div> </div> <a href="about.html" ><img src="img/dummies/noticia1.jpg" alt="Thumb" class="thumb" title="Click para ver noticia" /> </a> </li> <li class="block"> <div class="block-ribbon"> <div class="left"> <div class="block-title"><a href="#">CONCURSO DE PROGRAMACION</a></div> <div class="block-date">14 Enero 2014</div> </div> <div class="right"></div> </div> <a href="about.html" ><img src="img/dummies/noticia2.jpg" alt="Thumb" class="thumb" title="Click para ver noticia" /> </a> </li> <li class="block"> <div class="block-ribbon"> <div class="left"> <div class="block-title"><a href="#">GRAN EVENTO DE GLOBOS DE CAMBOYA</a></div> <div class="block-date">14 Enero 2014</div> </div> <div class="right"></div> </div> <a href="about.html" ><img src="img/dummies/noticia3.jpg" alt="Thumb" class="thumb" title="Click para ver noticia" /> </a>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 70
</li> <li class="block"> <div class="block-ribbon"> <div class="left"> <div class="block-title"><a href="#">CONCURSO DE ALTARES</a></div> <div class="block-date">14 Enero 2014</div> </div> <div class="right"></div> </div> <a href="about.html" ><img src="img/dummies/noticia4.jpg" alt="Thumb" class="thumb" title="Click para ver noticia" /> </a> </li> </ul> </div> <!-- ENDS front-left-col --> </div> <!-- ENDS home-content --> <div class="clear"></div> <!-- twitter --> <div class="twitter-reader"> <script>Chirp({user:"ansimuz",max:1})</script></div> </div> <!-- ENDS twitter --> </div> <!-- ENDS main-wrapper --> </div> <!-- ENDS MAIN --> <!-- FOOTER --> <div id="footer"> <div class="degree"> <!-- wrapper --> <div class="wrapper"> <!-- social bar --> <div id="social-bar"> <ul class="follow-us"> <li><span>SIGUENOS EN</span></li> <li ><a href="#" class="icon-32 twitter-32 social-tooltip" title="Mandanos tus tweets">link</a></li> <li ><a href="#" class="icon-32 youtube-32 social-tooltip" title="Siguenos en Youtube">link</a></li> <li ><a href="#" class="icon-32 google-32 social-tooltip" title="Buscanos por Google">link</a></li> <li ><a href="#" class="icon-32 facebook-32 social-tooltip" title="Comunicate por Facebook">link</a></li> </ul> </div> <!-- ENDS social bar --> <!-- footer-cols --> <div class="footer-cols">
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 71
<br><center><h6>INSTITUTO TECNOLOGICO SUPERIOR DE ACAYUCAN</h6> Carretera Costera del Golfo Km. 216.4<br> Colonia Agrícola Michapan, C.P. 96000,<br> Teléfono: 01(924) 24 5 7410 / Fax (924)5 7418.<br> Acayucan, Veracruz.</center> </div> <!-- ENDS footer-cols --> </div> <!-- ENDS footer-wrapper --> </div> </div> <!-- ENDS FOOTER --> <!-- start cufon --> <script type="text/javascript"> Cufon.now(); </script> <!-- ENDS start cufon --> </body> </html>
Buscador de residencias aceptadas
<?php
session_start();
include_once('_admin/php_conexion.php');
include_once('_admin/Class/funciones.php');
include_once('_admin/Class/class_alumnos.php');
#estado
if(!empty($_GET['estado'])){
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 72
$nit=limpiar($_GET['estado']);
$cans=mysql_query("SELECT * FROM salones WHERE estado='s'
and id='$nit'");
if($dat=mysql_fetch_array($cans)){
$xSQL="Update salones Set estado='n' Where id='$nit'";
mysql_query($xSQL);
header('location:salones.php');
}else{
$xSQL="Update salones Set estado='s' Where id='$nit'";
mysql_query($xSQL);
header('location:salones.php');
}
}
#paginar
$maximo=5;
if(!empty($_GET['pag'])){
$pag=limpiar($_GET['pag']);
}else{
$pag=1;
}
$inicio=($pag-1)*$maximo;
$cans=mysql_query("SELECT COUNT(nom_proy)as total FROM proyecto");
if($dat=mysql_fetch_array($cans)){
$total=$dat['total']; #inicializo la variable en 0
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Resultados de Anteproyectos</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<!-- Le styles -->
<link href="_admin/css/bootstrap.css" rel="stylesheet">
<link href="_admin/css/bootstrap-responsive.css" rel="stylesheet">
<link href="_admin/css/docs.css" rel="stylesheet">
<link href="_admin/js/google-code-prettify/prettify.css" rel="stylesheet">
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="js/jquery.js"></script>
<script src="js/bootstrap-transition.js"></script>
<script src="js/bootstrap-alert.js"></script>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 73
<script src="js/bootstrap-modal.js"></script>
<script src="js/bootstrap-dropdown.js"></script>
<script src="js/bootstrap-scrollspy.js"></script>
<script src="js/bootstrap-tab.js"></script>
<script src="js/bootstrap-tooltip.js"></script>
<script src="js/bootstrap-popover.js"></script>
<script src="js/bootstrap-button.js"></script>
<script src="js/bootstrap-collapse.js"></script>
<script src="js/bootstrap-carousel.js"></script>
<script src="js/bootstrap-typeahead.js"></script>
<script src="js/bootstrap-affix.js"></script>
<script src="js/holder/holder.js"></script>
<script src="js/google-code-prettify/prettify.js"></script>
<script src="js/application.js"></script>
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="assets/js/html5shiv.js"></script>
<![endif]-->
<!-- Le fav and touch icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-
icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-
icon-114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-
icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-
precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head>
<body data-spy="scroll" data-target=".bs-docs-sidebar">
<div align="center">
<table width="90%" border="0">
<tr>
<td>
<table class="table table-bordered">
<tr class="success">
<td>
<div class="row-fluid">
<div class="span6">
<h3><a href="index.html"><img src="img/decano.png" width="120"
height="80" alt="retroceso"title="Click para regresar al inicio del Portal"></a>Residencias
aceptadas</h3>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 74
</div>
<div class="span6">
<div align="right">
<div class="btn-group">
</span>
</button>
<ul class="dropdown-menu">
<?php
$c=mysql_query("SELECT * FROM
salones GROUP BY curso");
while($d=mysql_fetch_array($c)){
echo '<li><a
href="salones.php?cursos='.$d['curso'].'">'.$d['curso'].'</a></li>';
}
?>
<li><a href="aceptacion.php?cursos=0">Todos</a></li>
</ul>
</div><br><br>
<form name="form1" method="post" action="">
<div class="input-prepend">
<span class="add-on"><i class="icon-search"></i></span>
<input name="bus" type="text" placeholder="Introduce tu Matricula"
class="input-xlarge" autocomplete="off" autofocus>
</div>
</form>
</div>
</div>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<?php
if(!empty($_POST['nom_proyecto']) and !empty($_POST['nom_asesor'])){
$nombre=limpiar($_POST['nom_proyecto']);
$curso=limpiar($_POST['nom_asesor']);
if(empty($_POST['idacep'])){
$c_curso = new Proceso_Salones($nombre,$curso,'');
$c_curso->crear();
echo ' <div class="alert alert-info" align="center">
<button type="button" class="close"
data-dismiss="alert">×</button>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 75
<strong>
El Curso / Salon
"'.$nombre.'" Registrado con Exito en la Base de Datos
</strong>
</div>';
}else{
$id=limpiar($_POST['id']);
$c_curso = new Proceso_Salones($nombre,$curso,$id);
$c_curso->actualizar();
echo ' <div class="alert alert-info" align="center">
<button type="button" class="close"
data-dismiss="alert">×</button>
<strong>
El Curso / Salon
"'.$nombre.'" Actualizado con Exito en la Base de Datos
</strong>
</div>';
}
}
?>
<table class="table table-bordered table table-hover">
<tr class="success">
<td><strong>Nombre del Proyecto</strong></td>
<td><center>
<strong>Nombre del Asesor</strong>
</center></td>
<td><strong>Nombre del Alumno</strong></td>
<td><strong>Matricula</strong></td>
</tr>
<?php
if(empty($_GET['matricula'])){
if(empty($_POST['bus'])){
$sql="SELECT * FROM aceproyecto ORDER BY matricula
LIMIT $inicio, $maximo";
}else{
$bus=limpiar($_POST['bus']);
$sql="SELECT * FROM aceproyecto WHERE matricula LIKE
'%$bus%' ORDER BY matricula LIMIT $inicio, $maximo";
}
}else{
$bus=limpiar($_GET['nom_asesor']);
$sql="SELECT * FROM aceproyecto WHERE nom_asesor='$bus'
ORDER BY matricula LIMIT $inicio, $maximo";
}
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 76
$can=mysql_query($sql);
while($dato=mysql_fetch_array($can)){
?>
<tr>
<td></i> <?php echo $dato['nom_proyecto']; ?></td>
<td><?php echo $dato['nom_asesor']; ?></td>
<td><?php echo $dato['nom_alumno']; ?></td>
<td><?php echo $dato['matricula']; ?></td>
</tr>
<div id="actualizar<?php echo $dato['idacep']; ?>" class="modal hide fade" tabindex="-1"
role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<form name="form2" method="post" action="">
<input type="hidden" name="id" value="<?php echo $dato['id']; ?>">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
<h3 id="myModalLabel">Crear Nuevo Curso</h3>
</div>
<div class="modal-body">
<strong>Nombre del Salon</strong><br>
<input type="text" name="nombre" autocomplete="off" required value="<?php echo
$dato['nombre']; ?>"><br>
<strong>Nombre del Curso</strong><br>
<input type="text" name="curso" list="characters" autocomplete="off" required
value="<?php echo $dato['curso']; ?>"><br>
<strong>Horario</strong><br>
<input type="text" name="horario" autocomplete="off" required value="<?php echo
$dato['horario']; ?>"><br>
<strong>Disponible para la Carrera</strong><br>
<input type="text" name="carrera" autocomplete="off" required value="<?php echo
$dato['carrera']; ?>">
<datalist id="characters">
<?php
$c=mysql_query("SELECT nombre FROM salones ORDER
BY nombre");
while($d=mysql_fetch_array($c)){
echo '<option value="'.$d['nombre'].'">';
}
?>
</datalist>
<br>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true"><strong><i class="icon-
remove"></i> Cerrar</strong></button>
<button type="submit" class="btn btn-primary"><strong><i class="icon-ok"></i>
Actualizar Salon</strong></button>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 77
</div>
</form>
</div>
<?php } ?>
</table>
<center>
<div class="pagination">
<ul>
<?php
if(empty($_GET['cursos']) and empty($_POST['bus'])){
$tp = ceil($total/$maximo);#funcion que devuelve entero
redondeado
for ($n=1; $n<=$tp ; $n++){
if($pag==$n){
echo '<li class="active"><a
href="salones.php?pag='.$n.'">'.$n.'</a></li>';
}else{
echo '<li><a
href="salones.php?pag='.$n.'">'.$n.'</a></li>';
}
}
}
?>
</ul>
</div>
</center>
</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
<div id="nuevo" class="modal hide fade" tabindex="-1" role="dialog" aria-
labelledby="myModalLabel" aria-hidden="true">
<form name="form2" method="post" action="">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
<h3 id="myModalLabel">Crear Nuevo Curso</h3>
</div>
<div class="modal-body">
<strong>Nombre del Salon</strong><br>
<input type="text" name="nombre" autocomplete="off" required><br>
<strong>Nombre del Curso</strong><br>
<input type="text" name="curso" list="characters" autocomplete="off" required><br>
<strong>Horario</strong><br>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 78
<input type="text" name="horario" autocomplete="off" required value="<?php echo
$dato['horario']; ?>"><br>
<strong>Disponible para la Carrera</strong><br>
<input type="text" name="carrera" autocomplete="off" required value="<?php echo
$dato['carrera']; ?>">
<datalist id="characters">
<?php
$can=mysql_query("SELECT nombre FROM salones
ORDER BY nombre");
while($dato=mysql_fetch_array($can)){
echo '<option value="'.$dato['nombre'].'">';
}
?>
</datalist>
<br>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true"><strong><i class="icon-
remove"></i> Cerrar</strong></button>
<button type="submit" class="btn btn-primary"><strong><i class="icon-ok"></i>
Guardar Salon</strong></button>
</div>
</form>
</div>
</div>
</body>
</html>
Registro de curso de academia
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 79
<?php
session_start();
include_once('php_conexion.php');
include_once('class/funciones.php');
include_once('class/class.php');
if($_SESSION['tipo_usu']=='a'){
}else{
header('location:error.php');
}
if(!empty($_GET['estado'])){
$nit=limpiar($_GET['estado']);
$cans=mysql_query("SELECT * FROM cursos WHERE estado='s'
and id='$nit'");
if($dat=mysql_fetch_array($cans)){
$xSQL="Update cursos Set estado='n' Where id='$nit'";
mysql_query($xSQL);
header('location:cursos.php');
}else{
$xSQL="Update cursos Set estado='s' Where id='$nit'";
mysql_query($xSQL);
header('location:cursos.php');
}
}
#paginar
$maximo=10;
if(!empty($_GET['pag'])){
$pag=limpiar($_GET['pag']);
}else{
$pag=1;
}
$inicio=($pag-1)*$maximo;
$cans=mysql_query("SELECT COUNT(nombre)as total FROM cursos");
if($dat=mysql_fetch_array($cans)){
$total=$dat['total']; #inicializo la variable en 0
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Blanco</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<!-- Le styles -->
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 80
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/bootstrap-responsive.css" rel="stylesheet">
<link href="css/docs.css" rel="stylesheet">
<link href="js/google-code-prettify/prettify.css" rel="stylesheet">
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="js/jquery.js"></script>
<script src="js/bootstrap-transition.js"></script>
<script src="js/bootstrap-alert.js"></script>
<script src="js/bootstrap-modal.js"></script>
<script src="js/bootstrap-dropdown.js"></script>
<script src="js/bootstrap-scrollspy.js"></script>
<script src="js/bootstrap-tab.js"></script>
<script src="js/bootstrap-tooltip.js"></script>
<script src="js/bootstrap-popover.js"></script>
<script src="js/bootstrap-button.js"></script>
<script src="js/bootstrap-collapse.js"></script>
<script src="js/bootstrap-carousel.js"></script>
<script src="js/bootstrap-typeahead.js"></script>
<script src="js/bootstrap-affix.js"></script>
<script src="js/holder/holder.js"></script>
<script src="js/google-code-prettify/prettify.js"></script>
<script src="js/application.js"></script>
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="assets/js/html5shiv.js"></script>
<![endif]-->
<!-- Le fav and touch icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-
icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-
icon-114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-
icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-
precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head>
<body data-spy="scroll" data-target=".bs-docs-sidebar">
<table class="table table-bordered">
<tr class="info">
<td>
<div class="row-fluid">
<div class="span6">
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 81
<h3 class="text-info"><img src="img/cur.png" class="img-circle"
width="80" height="80">
Registro y Control de Cursos</h3>
</div>
<div class="span6" align="right">
<form name="form1" method="post" action="" class="form-inline">
<!-- INGRESAR NUEVA curso --->
<a href="#nuevo" role="button" class="btn" data-toggle="modal">
<i class="icon-book"></i> <strong>Ingresar Nuevo Curso</strong>
</a> |
<div class="input-prepend">
<span class="add-on"><i class="icon-search"></i></span>
<input name="bus" type="text" placeholder="Buscar Cursos por Nombre"
class="input-xlarge" autocomplete="off">
</div>
</form>
</div>
</div>
</td>
</tr>
</table>
<?php
if(!empty($_POST['nombre'])){
$nombre=limpiar($_POST['nombre']);
$encargado=limpiar($_POST['encargado']);
$materia=limpiar($_POST['materia']);
if(empty($_POST['id'])){
#guardar
$objConsultar=new Consultar_Cursos($nombre);
if($objConsultar->consultar('nombre')==NULL){
$objGuardar=new
Proceso_Cursos($nombre,$materia,$encargado,'');
$objGuardar->crear();
echo ' <div class="alert alert-success"
align="center">
<button type="button" class="close"
data-dismiss="alert">×</button>
<strong>El Curso "'.$nombre.'"
Guardado con Exito</strong>
</div>';
}else{
#mensaje
echo ' <div class="alert alert-error" align="center">
<strong>El nombre del
Curso "'.$nombre.'" ya esta registrado en la base de datos</strong>
</div>';
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 82
}
}else{
#actualizar
$id=limpiar($_POST['id']);
$objActualizar=new
Proceso_Cursos($nombre,$materia,$encargado,$id);
$objActualizar->actualizar();
echo ' <div class="alert alert-success" align="center">
<button type="button" class="close"
data-dismiss="alert">×</button>
<strong>El Curso "'.$nombre.'"
Actualizado con Exito</strong>
</div>';
}
}
?>
<table class="table table-bordered table table-hover">
<tr class="info">
<td width="26%"><strong class="text-info">Nombre del Curso</strong></td>
<td width="21%"><strong class="text-info">Materia</strong></td>
<td width="32%"><strong class="text-info">Encargado del Curso</strong></td>
<td width="12%"><center><strong class="text-info">Estado</strong></center></td>
<td width="9%"> </td>
</tr>
<?php
if(empty($_POST['bus'])){
$sql="SELECT * FROM cursos ORDER BY nombre LIMIT $inicio,
$maximo";
}else{
$bus=limpiar($_POST['bus']);
$sql="SELECT * FROM cursos WHERE nombre LIKE '%$bus%'
ORDER BY nombre LIMIT $inicio, $maximo";
}
$can=mysql_query($sql);
while($dato=mysql_fetch_array($can)){
$id_curso=$dato['id'];
$objMateria=new Consultar_Materias($dato['materia']);
$objEncargado=new Consultar_Profesor($dato['encargado']);
?>
<tr>
<td><i class="icon-list-alt"></i> <?php echo $dato['nombre']; ?></td>
<td><?php echo $objMateria->consultar('nombre'); ?></td>
<td><?php echo $objEncargado->consultar('nombre'); ?></td>
<td>
<center>
<a href="cursos.php?estado=<?php echo $dato['id']; ?>" title="Cambiar de Estado">
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 83
<?php echo estado($dato['estado']); ?>
</a>
</center>
</td>
<td>
<center>
<a href="#act<?php echo $dato['id']; ?>" role="button" class="btn btn-mini" data-
toggle="modal" title="Actualizar Informacion">
<i class="icon-edit"></i>
</a>
<a href="#lis<?php echo $dato['id']; ?>" role="button" class="btn btn-mini" data-
toggle="modal" title="Listado de Alumnos">
<i class="icon-list"></i>
</a>
</center>
</td>
</tr>
<!-- LISTADO DE SALONES -->
<div id="lis<?php echo $dato['id']; ?>" class="modal hide fade" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
<h3 id="myModalLabel" align="center">Listado de Alumnos<br>"<?php echo
$dato['nombre']; ?>"</h3>
</div>
<div class="modal-body">
<?php
$n1=mysql_query("SELECT * FROM salon_alum
WHERE salon='$id_curso'");
if($i=mysql_fetch_array($n1)){
$n=0;
echo ' <div id="" style="overflow:scroll;
height:300px;">';
$can1=mysql_query("SELECT * FROM
salon_alum WHERE salon='$id_curso'");
while($info=mysql_fetch_array($can1)){
$n++;
$objAlumno=new
Consultar_Alumno($info['alumno']);
$objCarrera=new
Consultar_Carrera($objAlumno->consultar('carrera'));
echo '<i class="icon-user"></i> '.$n.'.
| '.$objAlumno->consultar('apellido').' '.$objAlumno->consultar('nombre').' ( '.$info['alumno'].' )
'.$objCarrera->consultar('nombre').'<br>';
}
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 84
echo '</div>';
}else{
echo '<div class="alert alert-error"
align="center"><strong>No hay Alumnos Registrados en Este Salon</strong></div>';
}
?>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-
remove"></i> <strong>Cerrar</strong></button>
<?php
$n1=mysql_query("SELECT * FROM salon_alum WHERE
salon='$id_curso'");
if($i=mysql_fetch_array($n1)){
?>
<a href="reporte/listado_alumnos_salon.php?id=<?php echo $id_curso; ?>"
class="btn btn-primary">
<i class="icon-list"></i> <strong>Imprimir Reporte en EXCEL</strong>
</a>
<?php } ?>
</div>
</div>
<!-- actualizar salones -->
<div id="act<?php echo $dato['id']; ?>" class="modal hide fade" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<form name="form1" method="post" action="" class="form-inline">
<input type="hidden" name="id" value="<?php echo $dato['id']; ?>">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
<h3 id="myModalLabel">Actualizar Curso</h3>
</div>
<div class="modal-body">
<div class="row-fluid">
<div class="span6">
<strong>Nombre del Curso</strong><br>
<input type="text" name="nombre" autocomplete="off" required value="<?php
echo $dato['nombre']; ?>"><br>
<strong>Materia</strong><br>
<select name="materia">
<?php
$sql1="SELECT * FROM materias
WHERE estado='s' ORDER BY nombre";
$prosql=mysql_query($sql1);
while($pro=mysql_fetch_array($prosql)){
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 85
if($pro['id']==$dato['materia']){
echo '<option
value="'.$pro['id'].'" selected>'.$pro['nombre'].'</option>';
}else{
echo '<option
value="'.$pro['id'].'">'.$pro['nombre'].'</option>';
}
}
?>
</select>
</div>
<div class="span6">
<strong>Profesor Encargado</strong><br>
<select name="encargado">
<?php
$sql1="SELECT * FROM profesor ORDER
BY nombre";
$prosql=mysql_query($sql1);
while($pro=mysql_fetch_array($prosql)){
if($pro['nit']==$dato['encargado']){
echo '<option
value="'.$pro['nit'].'" selected>'.$pro['nombre'].'</option>';
}else{
echo '<option
value="'.$pro['nit'].'">'.$pro['nombre'].'</option>';
}
}
?>
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-
remove"></i> <strong>Cerrar</strong></button>
<button type="submit" class="btn btn-primary"><i class="icon-ok"></i>
<strong>Actualizar</strong></button>
</div>
</form>
</div>
<!--======================================-->
<?php } ?>
</table>
<div class="pagination" align="center">
<ul>
<?php
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 86
if(empty($_POST['bus'])){
$tp = ceil($total/$maximo);#funcion que devuelve entero
redondeado
for ($n=1; $n<=$tp ; $n++){
if($pag==$n){
echo '<li class="active"><a
href="cursos.php?pag='.$n.'"><strong>'.$n.'</strong></a></li>';
}else{
echo '<li><a
href="cursos.php?pag='.$n.'"><strong>'.$n.'</strong></a></li>';
}
}
}
?>
</ul>
</div>
<!-- Guardar salones -->
<div id="nuevo" class="modal hide fade" tabindex="-1" role="dialog" aria-
labelledby="myModalLabel" aria-hidden="true">
<form name="form1" method="post" action="" class="form-inline">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
<h3 id="myModalLabel">Guardar Nuevo Curso</h3>
</div>
<div class="modal-body">
<div class="row-fluid">
<div class="span6">
<strong>Nombre del Curso</strong><br>
<input type="text" name="nombre" autocomplete="off" required><br>
<strong>Materia</strong><br>
<select name="materia">
<?php
$sql1="SELECT * FROM materias
WHERE estado='s' ORDER BY nombre";
$prosql=mysql_query($sql1);
while($pro=mysql_fetch_array($prosql)){
echo '<option
value="'.$pro['id'].'">'.$pro['nombre'].'</option>';
}
?>
</select>
</div>
<div class="span6">
<strong>Profesor Encargado</strong><br>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 87
<select name="encargado">
<?php
$sql1="SELECT * FROM profesor ORDER
BY nombre";
$prosql=mysql_query($sql1);
while($pro=mysql_fetch_array($prosql)){
echo '<option
value="'.$pro['nit'].'">'.$pro['nombre'].'</option>';
}
?>
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-
remove"></i> <strong>Cerrar</strong></button>
<button type="submit" class="btn btn-primary"><i class="icon-ok"></i>
<strong>Guardar</strong></button>
</div>
</form>
</div>
<!--======================================-->
</body>
</html>
Pantalla de inicio ala administracion
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 88
<?php
session_start();
include_once('php_conexion.php');
if(!empty($_POST['usuario']) and !empty($_POST['contra'])){
$usuario=limpiar($_POST['usuario']);
$contra=limpiar($_POST['contra']);
$can=mysql_query("SELECT * FROM usuarios WHERE
(usu='".$usuario."' or id='".$usuario."') and con='".$contra."'");
if($dato=mysql_fetch_array($can)){
$_SESSION['username']=$dato['usu'];
$_SESSION['tipo_usu']=$dato['tipo'];
///////////////////////////////
if($_SESSION['tipo_usu']=='a'){
if($dato['estado']=='s'){
header('location:Administrador.php');
}
}
}
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>Entrar</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<!-- Le styles -->
<link href="css/bootstrap.css" rel="stylesheet">
<style type="text/css">
body {
padding-top: 40px;
padding-bottom: 40px;
background-color: #f5f5f5;
background-image: url(img/fondoazul.jpg);
}
.form-signin {
max-width: 300px;
padding: 19px 29px 29px;
margin: 0 auto 20px;
background-color: #fff;
border: 1px solid #e5e5e5;
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 89
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.05);
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.05);
box-shadow: 0 1px 2px rgba(0,0,0,.05);
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
margin-bottom: 10px;
}
.form-signin input[type="text"],
.form-signin input[type="password"] {
font-size: 16px;
height: auto;
margin-bottom: 15px;
padding: 7px 9px;
}
</style>
<link href="css/bootstrap-responsive.css" rel="stylesheet">
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="../assets/js/html5shiv.js"></script>
<![endif]-->
<!-- Fav and touch icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="ico/apple-touch-icon-
144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="ico/apple-touch-icon-
114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="ico/apple-touch-icon-72-
precomposed.png">
<link rel="apple-touch-icon-precomposed" href="ico/apple-touch-icon-57-
precomposed.png">
<link rel="shortcut icon" href="ico/favicon.png">
</head>
<body>
<div class="container">
<form name="form1" method="post" action="" class="form-signin">
<h2 class="form-signin-heading" align="center">Bienvenid@s</h2>
<input type="text" name="usuario" class="input-block-level" placeholder="Usuario"
autocomplete="off">
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 90
<input type="password" name="contra" class="input-block-level"
placeholder="Contraseña" autocomplete="off">
<div align="center"> <button class="btn btn-large btn-primary"
type="submit">Iniciar</button></div>
<p> </p>
<?php
$act="1";
if(!empty($_POST['usuario']) and !empty($_POST['contra'])){
$usuario=limpiar($_POST['usuario']);
$contra=limpiar($_POST['contra']);
$can=mysql_query("SELECT * FROM usuarios WHERE
(usu='".$usuario."' or id='".$usuario."') and con='".$contra."'");
if(!$dato=mysql_fetch_array($can)){
if($act=="1"){
echo '<div class="alert alert-error"
align="center"><strong>Usuario y Contraseña Incorrecta</strong></div>';
}else{
$act="0";
}
}else{
if($dato['estado']=='n'){
echo '<div class="alert alert-error"
align="center"><strong>Consulte con el Administrador</strong></div>';
}
}
}else{
}
?>
</form>
</div> <!-- /container -->
<!-- Le javascript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="js/jquery.js"></script>
<script src="js/bootstrap-transition.js"></script>
<script src="js/bootstrap-alert.js"></script>
<script src="js/bootstrap-modal.js"></script>
<script src="js/bootstrap-dropdown.js"></script>
<script src="js/bootstrap-scrollspy.js"></script>
<script src="js/bootstrap-tab.js"></script>
<script src="js/bootstrap-tooltip.js"></script>
<script src="js/bootstrap-popover.js"></script>
<script src="js/bootstrap-button.js"></script>
<script src="js/bootstrap-collapse.js"></script>
<script src="js/bootstrap-carousel.js"></script>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 91
<script src="js/bootstrap-typeahead.js"></script>
</body>
</html>
Registro y control de alumno
<?php
session_start();
include_once('conexion1.php');
include_once('class/funciones.php');
include_once('class/class.php');
if($_SESSION['tipo_usu']=='a'){
}else{
header('location:error.php');
}
$bus='';#inicializar la variable
if(!empty($_GET['estado'])){
$nit=limpiar($_GET['estado']);
$cans=mysql_query("SELECT * FROM alumnos WHERE id='$nit'");
if($dat=mysql_fetch_array($cans)){
if($dat['estado']=='s'){
$xSQL="Update alumnos Set estado='n' Where
id='$nit'";
mysql_query($xSQL);
header('location:alumno.php');
}else{
$xSQL="Update alumnos Set estado='s' Where
id='$nit'";
mysql_query($xSQL);
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 92
header('location:alumno.php');
}
}
}
#paginar
$maximo=10;
if(!empty($_GET['pag'])){
$pag=limpiar($_GET['pag']);
}else{
$pag=1;
}
$inicio=($pag-1)*$maximo;
$cans=mysql_query("SELECT COUNT(nombre)as total FROM alumnos");
if($dat=mysql_fetch_array($cans)){
$total=$dat['total']; #inicializo la variable en 0
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Blanco</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<!-- Le styles -->
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/bootstrap-responsive.css" rel="stylesheet">
<link href="css/docs.css" rel="stylesheet">
<link href="js/google-code-prettify/prettify.css" rel="stylesheet">
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="js/jquery.js"></script>
<script src="js/bootstrap-transition.js"></script>
<script src="js/bootstrap-alert.js"></script>
<script src="js/bootstrap-modal.js"></script>
<script src="js/bootstrap-dropdown.js"></script>
<script src="js/bootstrap-scrollspy.js"></script>
<script src="js/bootstrap-tab.js"></script>
<script src="js/bootstrap-tooltip.js"></script>
<script src="js/bootstrap-popover.js"></script>
<script src="js/bootstrap-button.js"></script>
<script src="js/bootstrap-collapse.js"></script>
<script src="js/bootstrap-carousel.js"></script>
<script src="js/bootstrap-typeahead.js"></script>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 93
<script src="js/bootstrap-affix.js"></script>
<script src="js/holder/holder.js"></script>
<script src="js/google-code-prettify/prettify.js"></script>
<script src="js/application.js"></script>
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="assets/js/html5shiv.js"></script>
<![endif]-->
<!-- Le fav and touch icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-
icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-
icon-114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-
icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-
precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head>
<body data-spy="scroll" data-target=".bs-docs-sidebar">
<table class="table table-bordered">
<tr class="info">
<td>
<div class="row-fluid">
<div class="span6">
<h3 class="text-info"><img src="img/alumno.png" class="img-circle"
width="80" height="80">
Registro y Control de Alumnos</h3>
</div>
<div class="span6" align="right">
<form name="form1" method="post" action="" class="form-inline">
<!-- INGRESAR NUEVA curso --->
<a href="#nuevo" role="button" class="btn" data-toggle="modal">
<i class="icon-book"></i> <strong>Ingresar Nuevo Alumno</strong>
</a> |
<div class="input-prepend">
<span class="add-on"><i class="icon-search"></i></span>
<input name="bus" type="text" placeholder="Buscar Alumno por Nombre"
class="input-xlarge" autocomplete="off" autofocus>
</div>
</form>
</div>
</div>
</td>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 94
</tr>
</table>
<?php
if(!empty($_POST['nombre'])){
$nit=limpiar($_POST['nit']);
$nombre=limpiar($_POST['nombre']);
$apellido=limpiar($_POST['apellido']);
$ciudad=limpiar($_POST['ciudad']);
$correo=limpiar($_POST['correo']); $con=$nit;
$carrera=limpiar($_POST['carrera']);
if(empty($_POST['id'])){
#guardar
$can=mysql_query("SELECT * FROM alumnos WHERE
nit='$nit'");
if(!$dato=mysql_fetch_array($can)){
$objGuardar=new
Proceso_Alumno('',$nit,$nombre,$apellido,$ciudad,$correo,$con,$carrera);
$objGuardar->crear();
echo ' <div class="alert alert-success"
align="center">
<button type="button" class="close"
data-dismiss="alert">×</button>
<strong>El alumno "'.$apellido.'
'.$nombre.'" Guardado con Exito</strong>
</div>';
}
}else{
#actualizar
$id=limpiar($_POST['id']);
$objActualizar=new
Proceso_Alumno($id,$nit,$nombre,$apellido,$ciudad,$correo,$con,$carrera);
$objActualizar->actualizar();
echo ' <div class="alert alert-success" align="center">
<button type="button" class="close"
data-dismiss="alert">×</button>
<strong>El alumno "'.$apellido.'
'.$nombre.'" Actualizado con Exito</strong>
</div>';
}
}else{
}
?>
<table class="table table-bordered table table-hover">
<tr class="info">
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 95
<td><strong>Documento</strong></td>
<td><strong>Apellido y Nombre</strong></td>
<td><strong>Carrera</strong></td>
<td><strong>Correo</strong></td>
<td><strong><center>Estado</center></strong></td>
<td> </td>
</tr>
<?php
if(empty($_POST['bus'])){
$sql="SELECT * FROM alumnos ORDER BY apellido LIMIT $inicio,
$maximo";
}else{
$bus=limpiar($_POST['bus']);
$sql="SELECT * FROM alumnos WHERE nombre LIKE '%$bus%' or
apellido LIKE '%$bus%' or nit='$bus' ORDER BY apellido LIMIT $inicio, $maximo";
}
$n=1;
$can=mysql_query($sql);
while($dato=mysql_fetch_array($can)){
$objCarrera=new Consultar_Carrera($dato['carrera']);
if($objCarrera->consultar('nombre')==NULL){
$ncarrera='Sin Asignar';
}else{
$ncarrera=$objCarrera->consultar('nombre');
}
?>
<tr>
<td><?php echo $n++.' |'.$dato['nit']; ?></td>
<td><?php echo $dato['apellido'].' '.$dato['nombre']; ?></td>
<td><?php echo $ncarrera; ?></td>
<td><?php echo $dato['correo']; ?></td>
<td>
<center>
<a href="alumno.php?estado=<?php echo $dato['id']; ?>" title="Cambiar
Estado">
<?php echo estado($dato['estado']); ?>
</a>
</center>
</td>
<td>
<center>
<a href="#act<?php echo $dato['id']; ?>" role="button" class="btn btn-mini" data-
toggle="modal" title="Actualizar Informacion">
<i class="icon-edit"></i>
</a>
<?php
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 96
$url=$dato['nit'];
?>
<a href="asig_curso.php?codigo=<?php echo $url; ?>" role="button" class="btn btn-
mini" data-toggle="modal" title="Asignar Materias">
<i class="icon-briefcase"></i>
</a>
</center>
</td>
</tr>
<div id="act<?php echo $dato['id']; ?>" class="modal hide fade" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<form name="form1" method="post" action="" class="form-inline">
<input type="hidden" name="id" value="<?php echo $dato['id']; ?>">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
<h3 id="myModalLabel">Actualizar Alumno</h3>
</div>
<div class="modal-body">
<div class="row-fluid">
<div class="span6">
<strong>Nit</strong><br>
<input type="text" name="nit" autocomplete="off" readonly value="<?php echo
$dato['nit']; ?>"><br>
<strong>Apellido</strong><br>
<input type="text" name="apellido" autocomplete="off" required value="<?php
echo $dato['apellido']; ?>"><br>
<strong>Nombre</strong><br>
<input type="text" name="nombre" autocomplete="off" required value="<?php
echo $dato['nombre']; ?>"><br>
</div>
<div class="span6">
<strong>Ciudad</strong><br>
<input type="text" name="ciudad" autocomplete="off" required value="<?php
echo $dato['ciudad']; ?>"><br>
<strong>Correo</strong><br>
<input type="email" name="correo" autocomplete="off" requerid value="<?php
echo $dato['correo']; ?>"><br>
<strong>Carrera</strong><br>
<select name="carrera">
<?php
$cn=mysql_query("SELECT * FROM
carreras WHERE estado='s'");
while($do=mysql_fetch_array($cn)){
if($dato['carrera']==$do['id']){
echo '<option
value="'.$do['id'].'" selected>'.$do['nombre'].'</option>';
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 97
}else{
echo '<option
value="'.$do['id'].'">'.$do['nombre'].'</option>';
}
}
?>
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-
remove"></i> <strong>Cerrar</strong></button>
<button type="submit" class="btn btn-primary"><i class="icon-ok"></i>
<strong>Actualizar</strong></button>
</div>
</form>
</div>
<?php } ?>
</table>
<div class="pagination" align="center">
<ul>
<?php
if(empty($_POST['bus'])){
$tp = ceil($total/$maximo);#funcion que devuelve entero
redondeado
for ($n=1; $n<=$tp ; $n++){
if($pag==$n){
echo '<li class="active"><a
href="alumno.php?pag='.$n.'"><strong>'.$n.'</strong></a></li>';
}else{
echo '<li><a
href="alumno.php?pag='.$n.'"><strong>'.$n.'</strong></a></li>';
}
}
}
?>
</ul>
</div>
<div id="nuevo" class="modal hide fade" tabindex="-1" role="dialog" aria-
labelledby="myModalLabel" aria-hidden="true">
<form name="form1" method="post" action="" class="form-inline">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 98
<h3 id="myModalLabel">Guardar Nuevo Alumno</h3>
</div>
<div class="modal-body">
<div class="row-fluid">
<div class="span6">
<strong>Nit</strong><br>
<input type="text" name="nit" autocomplete="off" required><br>
<strong>Apellido</strong><br>
<input type="text" name="apellido" autocomplete="off" required><br>
<strong>Nombre</strong><br>
<input type="text" name="nombre" autocomplete="off" required><br>
</div>
<div class="span6">
<strong>Ciudad</strong><br>
<input type="text" name="ciudad" autocomplete="off" required><br>
<strong>Correo</strong><br>
<input type="email" name="correo" autocomplete="off" requerid><br>
<strong>Carrera</strong><br>
<select name="carrera">
<?php
$cn=mysql_query("SELECT * FROM
carreras WHERE estado='s'");
while($do=mysql_fetch_array($cn)){
echo '<option
value="'.$do['id'].'">'.$do['nombre'].'</option>';
}
?>
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-
remove"></i> <strong>Cerrar</strong></button>
<button type="submit" class="btn btn-primary"><i class="icon-ok"></i>
<strong>Guardar</strong></button>
</div>
</form>
</div>
</body>
</html>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 99
Registro y control de curso
<?php
session_start();
include_once('php_conexion.php');
include_once('class/funciones.php');
include_once('class/class.php');
if($_SESSION['tipo_usu']=='a'){
}else{
header('location:error.php');
}
if(!empty($_GET['estado'])){
$nit=limpiar($_GET['estado']);
$cans=mysql_query("SELECT * FROM cursos WHERE estado='s'
and id='$nit'");
if($dat=mysql_fetch_array($cans)){
$xSQL="Update cursos Set estado='n' Where id='$nit'";
mysql_query($xSQL);
header('location:cursos.php');
}else{
$xSQL="Update cursos Set estado='s' Where id='$nit'";
mysql_query($xSQL);
header('location:cursos.php');
}
}
#paginar
$maximo=10;
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 100
if(!empty($_GET['pag'])){
$pag=limpiar($_GET['pag']);
}else{
$pag=1;
}
$inicio=($pag-1)*$maximo;
$cans=mysql_query("SELECT COUNT(nombre)as total FROM cursos");
if($dat=mysql_fetch_array($cans)){
$total=$dat['total']; #inicializo la variable en 0
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Blanco</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<!-- Le styles -->
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/bootstrap-responsive.css" rel="stylesheet">
<link href="css/docs.css" rel="stylesheet">
<link href="js/google-code-prettify/prettify.css" rel="stylesheet">
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="js/jquery.js"></script>
<script src="js/bootstrap-transition.js"></script>
<script src="js/bootstrap-alert.js"></script>
<script src="js/bootstrap-modal.js"></script>
<script src="js/bootstrap-dropdown.js"></script>
<script src="js/bootstrap-scrollspy.js"></script>
<script src="js/bootstrap-tab.js"></script>
<script src="js/bootstrap-tooltip.js"></script>
<script src="js/bootstrap-popover.js"></script>
<script src="js/bootstrap-button.js"></script>
<script src="js/bootstrap-collapse.js"></script>
<script src="js/bootstrap-carousel.js"></script>
<script src="js/bootstrap-typeahead.js"></script>
<script src="js/bootstrap-affix.js"></script>
<script src="js/holder/holder.js"></script>
<script src="js/google-code-prettify/prettify.js"></script>
<script src="js/application.js"></script>
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 101
<script src="assets/js/html5shiv.js"></script>
<![endif]-->
<!-- Le fav and touch icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-
icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-
icon-114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-
icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-
precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head>
<body data-spy="scroll" data-target=".bs-docs-sidebar">
<table class="table table-bordered">
<tr class="info">
<td>
<div class="row-fluid">
<div class="span6">
<h3 class="text-info"><img src="img/cur.png" class="img-circle"
width="80" height="80">
Registro y Control de Cursos</h3>
</div>
<div class="span6" align="right">
<form name="form1" method="post" action="" class="form-inline">
<!-- INGRESAR NUEVA curso --->
<a href="#nuevo" role="button" class="btn" data-toggle="modal">
<i class="icon-book"></i> <strong>Ingresar Nuevo Curso</strong>
</a> |
<div class="input-prepend">
<span class="add-on"><i class="icon-search"></i></span>
<input name="bus" type="text" placeholder="Buscar Cursos por Nombre"
class="input-xlarge" autocomplete="off">
</div>
</form>
</div>
</div>
</td>
</tr>
</table>
<?php
if(!empty($_POST['nombre'])){
$nombre=limpiar($_POST['nombre']);
$encargado=limpiar($_POST['encargado']);
$materia=limpiar($_POST['materia']);
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 102
if(empty($_POST['id'])){
#guardar
$objConsultar=new Consultar_Cursos($nombre);
if($objConsultar->consultar('nombre')==NULL){
$objGuardar=new
Proceso_Cursos($nombre,$materia,$encargado,'');
$objGuardar->crear();
echo ' <div class="alert alert-success"
align="center">
<button type="button" class="close"
data-dismiss="alert">×</button>
<strong>El Curso "'.$nombre.'"
Guardado con Exito</strong>
</div>';
}else{
#mensaje
echo ' <div class="alert alert-error" align="center">
<strong>El nombre del
Curso "'.$nombre.'" ya esta registrado en la base de datos</strong>
</div>';
}
}else{
#actualizar
$id=limpiar($_POST['id']);
$objActualizar=new
Proceso_Cursos($nombre,$materia,$encargado,$id);
$objActualizar->actualizar();
echo ' <div class="alert alert-success" align="center">
<button type="button" class="close"
data-dismiss="alert">×</button>
<strong>El Curso "'.$nombre.'"
Actualizado con Exito</strong>
</div>';
}
}
?>
<table class="table table-bordered table table-hover">
<tr class="info">
<td width="26%"><strong class="text-info">Nombre del Curso</strong></td>
<td width="21%"><strong class="text-info">Materia</strong></td>
<td width="32%"><strong class="text-info">Encargado del Curso</strong></td>
<td width="12%"><center><strong class="text-info">Estado</strong></center></td>
<td width="9%"> </td>
</tr>
<?php
if(empty($_POST['bus'])){
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 103
$sql="SELECT * FROM cursos ORDER BY nombre LIMIT $inicio,
$maximo";
}else{
$bus=limpiar($_POST['bus']);
$sql="SELECT * FROM cursos WHERE nombre LIKE '%$bus%'
ORDER BY nombre LIMIT $inicio, $maximo";
}
$can=mysql_query($sql);
while($dato=mysql_fetch_array($can)){
$id_curso=$dato['id'];
$objMateria=new Consultar_Materias($dato['materia']);
$objEncargado=new Consultar_Profesor($dato['encargado']);
?>
<tr>
<td><i class="icon-list-alt"></i> <?php echo $dato['nombre']; ?></td>
<td><?php echo $objMateria->consultar('nombre'); ?></td>
<td><?php echo $objEncargado->consultar('nombre'); ?></td>
<td>
<center>
<a href="cursos.php?estado=<?php echo $dato['id']; ?>" title="Cambiar de Estado">
<?php echo estado($dato['estado']); ?>
</a>
</center>
</td>
<td>
<center>
<a href="#act<?php echo $dato['id']; ?>" role="button" class="btn btn-mini" data-
toggle="modal" title="Actualizar Informacion">
<i class="icon-edit"></i>
</a>
<a href="#lis<?php echo $dato['id']; ?>" role="button" class="btn btn-mini" data-
toggle="modal" title="Listado de Alumnos">
<i class="icon-list"></i>
</a>
</center>
</td>
</tr>
<!-- LISTADO DE SALONES -->
<div id="lis<?php echo $dato['id']; ?>" class="modal hide fade" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
<h3 id="myModalLabel" align="center">Listado de Alumnos<br>"<?php echo
$dato['nombre']; ?>"</h3>
</div>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 104
<div class="modal-body">
<?php
$n1=mysql_query("SELECT * FROM salon_alum
WHERE salon='$id_curso'");
if($i=mysql_fetch_array($n1)){
$n=0;
echo ' <div id="" style="overflow:scroll;
height:300px;">';
$can1=mysql_query("SELECT * FROM
salon_alum WHERE salon='$id_curso'");
while($info=mysql_fetch_array($can1)){
$n++;
$objAlumno=new
Consultar_Alumno($info['alumno']);
$objCarrera=new
Consultar_Carrera($objAlumno->consultar('carrera'));
echo '<i class="icon-user"></i> '.$n.'.
| '.$objAlumno->consultar('apellido').' '.$objAlumno->consultar('nombre').' ( '.$info['alumno'].' )
'.$objCarrera->consultar('nombre').'<br>';
}
echo '</div>';
}else{
echo '<div class="alert alert-error"
align="center"><strong>No hay Alumnos Registrados en Este Salon</strong></div>';
}
?>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-
remove"></i> <strong>Cerrar</strong></button>
<?php
$n1=mysql_query("SELECT * FROM salon_alum WHERE
salon='$id_curso'");
if($i=mysql_fetch_array($n1)){
?>
<a href="reporte/listado_alumnos_salon.php?id=<?php echo $id_curso; ?>"
class="btn btn-primary">
<i class="icon-list"></i> <strong>Imprimir Reporte en EXCEL</strong>
</a>
<?php } ?>
</div>
</div>
<!-- actualizar salones -->
<div id="act<?php echo $dato['id']; ?>" class="modal hide fade" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<form name="form1" method="post" action="" class="form-inline">
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 105
<input type="hidden" name="id" value="<?php echo $dato['id']; ?>">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
<h3 id="myModalLabel">Actualizar Curso</h3>
</div>
<div class="modal-body">
<div class="row-fluid">
<div class="span6">
<strong>Nombre del Curso</strong><br>
<input type="text" name="nombre" autocomplete="off" required value="<?php
echo $dato['nombre']; ?>"><br>
<strong>Materia</strong><br>
<select name="materia">
<?php
$sql1="SELECT * FROM materias
WHERE estado='s' ORDER BY nombre";
$prosql=mysql_query($sql1);
while($pro=mysql_fetch_array($prosql)){
if($pro['id']==$dato['materia']){
echo '<option
value="'.$pro['id'].'" selected>'.$pro['nombre'].'</option>';
}else{
echo '<option
value="'.$pro['id'].'">'.$pro['nombre'].'</option>';
}
}
?>
</select>
</div>
<div class="span6">
<strong>Profesor Encargado</strong><br>
<select name="encargado">
<?php
$sql1="SELECT * FROM profesor ORDER
BY nombre";
$prosql=mysql_query($sql1);
while($pro=mysql_fetch_array($prosql)){
if($pro['nit']==$dato['encargado']){
echo '<option
value="'.$pro['nit'].'" selected>'.$pro['nombre'].'</option>';
}else{
echo '<option
value="'.$pro['nit'].'">'.$pro['nombre'].'</option>';
}
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 106
}
?>
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-
remove"></i> <strong>Cerrar</strong></button>
<button type="submit" class="btn btn-primary"><i class="icon-ok"></i>
<strong>Actualizar</strong></button>
</div>
</form>
</div>
<!--======================================-->
<?php } ?>
</table>
<div class="pagination" align="center">
<ul>
<?php
if(empty($_POST['bus'])){
$tp = ceil($total/$maximo);#funcion que devuelve entero
redondeado
for ($n=1; $n<=$tp ; $n++){
if($pag==$n){
echo '<li class="active"><a
href="cursos.php?pag='.$n.'"><strong>'.$n.'</strong></a></li>';
}else{
echo '<li><a
href="cursos.php?pag='.$n.'"><strong>'.$n.'</strong></a></li>';
}
}
}
?>
</ul>
</div>
<!-- Guardar salones -->
<div id="nuevo" class="modal hide fade" tabindex="-1" role="dialog" aria-
labelledby="myModalLabel" aria-hidden="true">
<form name="form1" method="post" action="" class="form-inline">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
<h3 id="myModalLabel">Guardar Nuevo Curso</h3>
</div>
<div class="modal-body">
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 107
<div class="row-fluid">
<div class="span6">
<strong>Nombre del Curso</strong><br>
<input type="text" name="nombre" autocomplete="off" required><br>
<strong>Materia</strong><br>
<select name="materia">
<?php
$sql1="SELECT * FROM materias
WHERE estado='s' ORDER BY nombre";
$prosql=mysql_query($sql1);
while($pro=mysql_fetch_array($prosql)){
echo '<option
value="'.$pro['id'].'">'.$pro['nombre'].'</option>';
}
?>
</select>
</div>
<div class="span6">
<strong>Profesor Encargado</strong><br>
<select name="encargado">
<?php
$sql1="SELECT * FROM profesor ORDER
BY nombre";
$prosql=mysql_query($sql1);
while($pro=mysql_fetch_array($prosql)){
echo '<option
value="'.$pro['nit'].'">'.$pro['nombre'].'</option>';
}
?>
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-
remove"></i> <strong>Cerrar</strong></button>
<button type="submit" class="btn btn-primary"><i class="icon-ok"></i>
<strong>Guardar</strong></button>
</div>
</form>
</div>
<!--======================================-->
</body>
</html>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 108
Registro de alumno registrado
<?php
session_start();
include_once('php_conexion.php');
include_once('Class/funciones.php');
include_once('Class/class_alumnos.php');
if($_SESSION['tipo_usu']=='a' or $_SESSION['tipo_usu']=='s'){
}else{
header('location:error.php');
}
if(!empty($_GET['estado'])){
$nit=limpiar($_GET['estado']);
$cans=mysql_query("SELECT * FROM alumnos WHERE estado='s'
and id='$nit'");
if($dat=mysql_fetch_array($cans)){
$xSQL="Update alumnos Set estado='n' Where id='$nit'";
mysql_query($xSQL);
header('location:alumnos.php');
}else{
$xSQL="Update alumnos Set estado='s' Where id='$nit'";
mysql_query($xSQL);
header('location:alumnos.php');
}
}
#paginar
$maximo=5;
if(!empty($_GET['pag'])){
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 109
$pag=limpiar($_GET['pag']);
}else{
$pag=1;
}
$inicio=($pag-1)*$maximo;
$cans=mysql_query("SELECT COUNT(nombre)as total FROM
alumnos");
if($dat=mysql_fetch_array($cans)){
$total=$dat['total']; #inicializo la variable en 0
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Blanco</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<!-- Le styles -->
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/bootstrap-responsive.css" rel="stylesheet">
<link href="css/docs.css" rel="stylesheet">
<link href="js/google-code-prettify/prettify.css" rel="stylesheet">
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="js/jquery.js"></script>
<script src="js/bootstrap-transition.js"></script>
<script src="js/bootstrap-alert.js"></script>
<script src="js/bootstrap-modal.js"></script>
<script src="js/bootstrap-dropdown.js"></script>
<script src="js/bootstrap-scrollspy.js"></script>
<script src="js/bootstrap-tab.js"></script>
<script src="js/bootstrap-tooltip.js"></script>
<script src="js/bootstrap-popover.js"></script>
<script src="js/bootstrap-button.js"></script>
<script src="js/bootstrap-collapse.js"></script>
<script src="js/bootstrap-carousel.js"></script>
<script src="js/bootstrap-typeahead.js"></script>
<script src="js/bootstrap-affix.js"></script>
<script src="js/holder/holder.js"></script>
<script src="js/google-code-prettify/prettify.js"></script>
<script src="js/application.js"></script>
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 110
<!--[if lt IE 9]>
<script src="assets/js/html5shiv.js"></script>
<![endif]-->
<!-- Le fav and touch icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-
icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-
icon-114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-
icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-
precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head>
<body data-spy="scroll" data-target=".bs-docs-sidebar">
<div align="center">
<table width="95%" border="0">
<tr>
<td>
<table class="table table-bordered">
<tr class="success">
<td>
<div class="row-fluid">
<div class="span6">
<h3><img src="img/icono_alumno.jpg" class="img-circle img-polaroid"
width="70" height="65">
Registro & Control de Alumnos</h3>
</div>
<div class="span6">
<div align="right">
<a href="#nuevo" role="button" class="btn" data-toggle="modal">
<strong><i class="icon-user"></i> Ingresar Nuevo</strong>
</a>
<div class="btn-group">
<button class="btn" data-toggle="dropdown">
<i class="icon-search"></i> <strong>Consultar por Cursos</strong>
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<?php
$c=mysql_query("SELECT * FROM salones WHERE estado='s'");
while($d=mysql_fetch_array($c)){
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 111
echo '<li><a
href="alumnos.php?nombre='.$d['id'].'">'.$d['nombre'].'</a></li>';
}
?>
<li><a href="alumnos.php?cursos=0">Todos</a></li>
</ul>
</div>
<br><br>
<form name="form1" method="post" action="">
<div class="input-prepend">
<span class="add-on"><i class="icon-search"></i></span>
<input name="bus" type="text" placeholder="Buscar Alumno"
class="input-xlarge" autocomplete="off">
</div>
</form>
</div>
</div>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<?php
if(!empty($_POST['nombre']) and
!empty($_POST['apellido'])){
$nombre=limpiar($_POST['nombre']);
$apellido=limpiar($_POST['apellido']);
$nit=limpiar($_POST['nit']);
$telefono=limpiar($_POST['telefono']);
$fechan=limpiar($_POST['fechan']);
$curso=limpiar($_POST['curso']);
if(empty($_POST['id'])){
$c_alumno = new
Proceso_Alumnos($nombre,$apellido,$nit,$telefono,$fechan,$curso,'s','');
$c_alumno->crear();
$can=mysql_query("SELECT MAX(id)as
maximo FROM alumnos");
if($dato=mysql_fetch_array($can)){
$codigo=$dato['maximo'];
//subir la imagen del articulo
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 112
$nameimagen =
$_FILES['imagen']['name'];
$tmpimagen =
$_FILES['imagen']['tmp_name'];
$extimagen =
pathinfo($nameimagen);
$urlnueva =
"alumnos/".$codigo.".jpg";
if(is_uploaded_file($tmpimagen)){
copy($tmpimagen,$urlnueva);
}
}
echo ' <div class="alert alert-info"
align="center">
<button
type="button" class="close" data-dismiss="alert">×</button>
<strong>
El alumno/a
"'.$nombre.' '.$apellido.'" Registrado con Exito en la Base de Datos
</strong>
</div>';
}elseif(!empty($_POST['id'])){
$codigo=$_POST['id'];
$a_alumno = new
Proceso_Alumnos($nombre,$apellido,$nit,$telefono,$fechan,$curso,'s',$codigo);
$a_alumno->actualizar();
//subir la imagen del articulo
$nameimagen = $_FILES['imagen']['name'];
$tmpimagen =
$_FILES['imagen']['tmp_name'];
$extimagen = pathinfo($nameimagen);
$urlnueva = "alumnos/".$codigo.".jpg";
if(is_uploaded_file($tmpimagen)){
copy($tmpimagen,$urlnueva);
}
echo ' <div class="alert alert-info"
align="center">
<button
type="button" class="close" data-dismiss="alert">×</button>
<strong>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 113
El alumno/a
"'.$nombre.' '.$apellido.'" Actualizado con Exito en la Base de Datos
</strong>
</div>';
}
}
?>
<table class="table table-bordered table table-hover">
<tr class="success">
<td width="27%"><strong>Apellido y Nombre</strong></td>
<td width="19%"><center><strong>Telefono</strong></center></td>
<td width="14%"><center><strong>Estado</strong></center></td>
<td width="32%"><center><strong>Curso</strong></center></td>
<td width="8%"> </td>
</tr>
<?php
if(empty($_GET['cursos'])){
if(empty($_POST['bus'])){
$sql="SELECT * FROM alumnos ORDER BY
apellido LIMIT $inicio, $maximo";
}else{
$bus=limpiar($_POST['bus']);
$sql="SELECT * FROM alumnos WHERE
nombre LIKE '$bus%' or apellido LIKE '$bus%' or nit='$bus' ORDER BY apellido LIMIT
$inicio, $maximo";
}
}else{
$bus=limpiar($_GET['cursos']);
if($bus<>0){
$sql="SELECT * FROM alumnos WHERE
curso='$bus' ORDER BY apellido LIMIT $inicio, $maximo";
}else{
$sql="SELECT * FROM alumnos ORDER BY
apellido LIMIT $inicio, $maximo";
}
}
$can=mysql_query($sql);
while($dato=mysql_fetch_array($can)){
$salones = new Consultar_Salones($dato['curso']);
?>
<tr>
<td><i class="icon-user"></i> <?php echo trim($dato['apellido']).'
'.trim($dato['nombre']); ?></td>
<td><center><?php echo $dato['telefono']; ?></center></td>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 114
<td>
<center>
<a href="alumnos.php?estado=<?php echo $dato['id']; ?>" title="Cambiar
Estado">
<?php echo estado($dato['estado']);
?>
</a>
</center>
</td>
<td><center><?php echo $salones->consultar('nombre'); ?></center></td>
<td>
<a href="#actualizar<?php echo $dato['id']; ?>" role="button" class="btn btn-
mini" data-toggle="modal" title="Actualizar Informacion">
<i class="icon-edit"></i>
</a>
</td>
</tr>
<!--actualizar alumno-->
<div id="actualizar<?php echo $dato['id']; ?>"
class="modal hide fade" tabindex="-1" role="dialog" aria-
labelledby="myModalLabel" aria-hidden="true">
<form name="form2" method="post" enctype="multipart/form-data" action="">
<input type="hidden" name="id" value="<?php echo $dato['id']; ?>">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
<h3 id="myModalLabel">Actualizar Alumno</h3>
</div>
<div class="modal-body">
<div class="row-fluid">
<div class="span6">
<strong>Nombre del Alumno</strong><br>
<input type="text" name="nombre" autocomplete="off" required
value="<?php echo $dato['nombre']; ?>"><br>
<strong>Matricula</strong><br>
<input type="text" name="nit" autocomplete="off" required
value="<?php echo $dato['nit']; ?>"><br>
<strong>Fecha Nacimiento</strong><br>
<input type="date" name="fechan" autocomplete="off" required
value="<?php echo $dato['fechan']; ?>"><br>
<strong>Curso</strong><br>
<select name="curso">
<?php
$c=mysql_query("SELECT * FROM salones WHERE estado='s'");
while($d=mysql_fetch_array($c)){
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 115
if($d['id']==$dato['curso']){
echo '<option value="'.$d['id'].'" selected>'.$d['nombre'].'</option>';
}else{
echo '<option value="'.$d['id'].'">'.$d['nombre'].'</option>';
}
}
?>
</select>
<strong>Fotografia</strong><br>
<input type="file" name="imagen" id="imagen">
</div>
<div class="span6">
<strong>Apellidos del Alumno</strong><br>
<input type="text" name="apellido" autocomplete="off" value="<?php
echo $dato['apellido']; ?>"><br>
<strong>Telefonos / Celulares</strong><br>
<input type="text" name="telefono" autocomplete="off" value="<?php
echo $dato['telefono']; ?>"><br>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn"><strong><i class="icon-ok"></i> Actualizar
Alumno</strong></button>
<button class="btn" data-dismiss="modal" aria-hidden="true"><strong><i
class="icon-remove"></i> Cerrar</strong></button>
</div>
</form>
</div>
<?php } ?>
</table>
<?php
$can=mysql_query($sql);
if(!$dato=mysql_fetch_array($can)){
echo '<div class="alert alert-info"
align="center"><strong>No hay Alumnos Registrados en la BD</strong></div>';
}
?>
</td>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 116
</tr>
</table>
<div class="pagination">
<ul>
<?php
if(empty($_GET['cursos']) and empty($_POST['bus'])){
$tp = ceil($total/$maximo);#funcion que devuelve entero
redondeado
for ($n=1; $n<=$tp ; $n++){
if($pag==$n){
echo '<li class="active"><a
href="alumnos.php?pag='.$n.'">'.$n.'</a></li>';
}else{
echo '<li><a
href="alumnos.php?pag='.$n.'">'.$n.'</a></li>';
}
}
}
?>
</ul>
</div>
</div>
<!--crear nuevo alumno-->
<div id="nuevo" class="modal hide fade" tabindex="-1" role="dialog" aria-
labelledby="myModalLabel" aria-hidden="true">
<form name="form2" method="post" enctype="multipart/form-data" action="">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
<h3 id="myModalLabel">Ingresar Nuevo Alumno</h3>
</div>
<div class="modal-body">
<div class="row-fluid">
<div class="span6" >
<strong>Nombre del Alumno</strong><br>
<input type="text" name="nombre" autocomplete="off" required><br>
<strong>Matricula</strong><br>
<input type="text" name="nit" autocomplete="off" required><br>
<strong>Fecha Nacimiento</strong><br>
<input type="date" name="fechan" autocomplete="off" required value="<?php echo
date('Y-m-d'); ?>"><br>
<strong>Fotografia</strong><br>
<input type="file" name="imagen" id="imagen">
</div>
<div class="span6">
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 117
<strong>Apellidos del Alumno</strong><br>
<input type="text" name="apellido" autocomplete="off"><br>
<strong>Telefonos / Celulares</strong><br>
<input type="text" name="telefono" autocomplete="off"><br>
<strong>Cursos</strong><br>
<select name="curso">
<?php
$c=mysql_query("SELECT * FROM salones
WHERE estado='s'");
while($d=mysql_fetch_array($c)){
echo '<option
value="'.$d['id'].'">'.$d['nombre'].'</option>';
}
?>
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn"><strong><i class="icon-ok"></i> Ingresar
Alumno</strong></button>
<button class="btn" data-dismiss="modal" aria-hidden="true"><strong><i
class="icon-remove"></i> Cerrar</strong></button>
</div>
</form>
</div>
</body>
</html>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 118
Actucalizar la base de datos mediante un documento en excel.
<?php
session_start();
include_once('php_conexion.php');
include_once('Class/class_alumnos.php');
if($_SESSION['tipo_usu']=='a'){
}else{
header('location:error.php');
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Blanco</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<!-- Le styles -->
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/bootstrap-responsive.css" rel="stylesheet">
<link href="css/docs.css" rel="stylesheet">
<link href="js/google-code-prettify/prettify.css" rel="stylesheet">
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="js/jquery.js"></script>
<script src="js/bootstrap-transition.js"></script>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 119
<script src="js/bootstrap-alert.js"></script>
<script src="js/bootstrap-modal.js"></script>
<script src="js/bootstrap-dropdown.js"></script>
<script src="js/bootstrap-scrollspy.js"></script>
<script src="js/bootstrap-tab.js"></script>
<script src="js/bootstrap-tooltip.js"></script>
<script src="js/bootstrap-popover.js"></script>
<script src="js/bootstrap-button.js"></script>
<script src="js/bootstrap-collapse.js"></script>
<script src="js/bootstrap-carousel.js"></script>
<script src="js/bootstrap-typeahead.js"></script>
<script src="js/bootstrap-affix.js"></script>
<script src="js/holder/holder.js"></script>
<script src="js/google-code-prettify/prettify.js"></script>
<script src="js/application.js"></script>
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="assets/js/html5shiv.js"></script>
<![endif]-->
<!-- Le fav and touch icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-
icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-
icon-114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-
icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-
precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head>
<body data-spy="scroll" data-target=".bs-docs-sidebar">
<div align="center">
<form action="" method="post" enctype="multipart/form-data" name="form1">
<table width="90%" border="0">
<tr>
<td>
<strong>Agregar Archivo de Excel [Productos]</strong>
<input type="hidden" name="numero" id="numero" value="1">
<input type="file" name="imagen" id="imagen">
<input type="submit" name="button" class="btn" id="button" value="Actualizar Base de
Datos"></td>
</tr>
<tr>
<td> </td>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 120
</tr>
</table>
</form>
<?php
if(!empty($_POST['numero'])){
//subir la imagen del articulo
$nameimagen = $_FILES['imagen']['name'];
$tmpimagen = $_FILES['imagen']['tmp_name'];
$extimagen = pathinfo($nameimagen);
$urlnueva = "xls/alumnos.xls";
if(is_uploaded_file($tmpimagen)){
copy($tmpimagen,$urlnueva);
echo '<div class="alert alert-success"><strong>Datos Actualizados
con Exito</strong></div>';
}
}
?>
<table border="1" width="100%">
<thead>
<tr>
<th><center><strong>A</strong></center></th>
<th><center><strong>B</strong></center></th>
<th><center><strong>C</strong></center></th>
<th><center><strong>D</strong></center></th>
<th><center><strong>E</strong></center></th>
</tr>
<tr>
<th><strong>Matricula</strong></th>
<th><strong>Apellido</strong></th>
<th><strong>Nombre</strong></th>
<th><strong>Telefonos</strong></th>
<th><strong>ID Curso</strong></th>
</tr>
</thead>
<tbody>
<?php
if(!empty($_POST['numero'])){
//incluimos la clase
require_once
'PHPExcel/Classes/PHPExcel/IOFactory.php';
//cargamos el archivo que deseamos leer
$objPHPExcel =
PHPExcel_IOFactory::load('xls/alumnos.xls');
//obtenemos los datos de la hoja activa (la primera)
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 121
$objHoja=$objPHPExcel->getActiveSheet()-
>toArray(null,true,true,true,true);
//recorremos las filas obtenidas
foreach ($objHoja as $iIndice=>$objCelda) {
//imprimimos el contenido de la celda
utilizando la letra de cada columna 12
echo '
<tr>
<td>'.$objCelda['A'].'</td>
<td>'.$objCelda['B'].'</td>
<td>'.$objCelda['C'].'</td>
<td>'.$objCelda['D'].'</td>
<td>'.$objCelda['E'].'</td>
</tr>
';
$nit=$objCelda['A'];
$apellido=$objCelda['B'];
$nombre=$objCelda['C'];
$telefono=$objCelda['D'];
$salon=$objCelda['E'];
$fechan=date('Y-m-d');
$c_alumno = new
Proceso_Alumnos($nombre,$apellido,$nit,$telefono,$fechan,$salon,'s','');
$c_alumno->crear();
}
}
?>
</tbody>
</table>
</div>
</body>
</html>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 122
Editar, eliminar noticias y eventos
<?php require_once('../Connections/conexionportal.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "",
$theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ?
mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 123
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
$updateSQL = sprintf("UPDATE tblslider SET strImagenGrande=%s,
strImagenPequena=%s, strTitulo=%s, strSubtitulo=%s, strMenu=%s, strLink=%s,
intOrden=%s, intEstado=%s WHERE idContador=%s",
GetSQLValueString($_POST['strImagenGrande'], "text"),
GetSQLValueString($_POST['strImagenPequena'], "text"),
GetSQLValueString($_POST['strTitulo'], "text"),
GetSQLValueString($_POST['strSubtitulo'], "text"),
GetSQLValueString($_POST['strMenu'], "text"),
GetSQLValueString($_POST['strLink'], "text"),
GetSQLValueString($_POST['intOrden'], "int"),
GetSQLValueString($_POST['intEstado'], "int"),
GetSQLValueString($_POST['idContador'], "int"));
mysql_select_db($database_conexionportal, $conexionportal);
$Result1 = mysql_query($updateSQL, $conexionportal) or die(mysql_error());
$updateGoTo = "slider_lista.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
$varDato_DatosSlider = "0";
if (isset($_GET["recordID"])) {
$varDato_DatosSlider = $_GET["recordID"];
}
mysql_select_db($database_conexionportal, $conexionportal);
$query_DatosSlider = sprintf("SELECT * FROM tblslider WHERE tblslider.idContador = %s",
GetSQLValueString($varDato_DatosSlider, "int"));
$DatosSlider = mysql_query($query_DatosSlider, $conexionportal) or die(mysql_error());
$row_DatosSlider = mysql_fetch_assoc($DatosSlider);
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 124
$totalRows_DatosSlider = mysql_num_rows($DatosSlider);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin
template="/Templates/plantillaadmin.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Administracion AyzWeb</title>
<!-- InstanceEndEditable -->
<!-- InstanceBeginEditable name="head" -->
<!-- InstanceEndEditable -->
<link href="../css/estiloadmin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="container">
<div class="header"></div>
<div class="content"><!-- InstanceBeginEditable name="ParteDerechaAdmin" -->
<script>
function subirimagen(nombrecampo)
{ self. name='opener';
remote= open('gestionimagen.php?campo='+nombrecampo,
'remote', 'width=400, height=150,
location=no,scrollbars=yes,menubars=no,toolsbars=no,resizable=yes,fullscreen=no,status=y
es');
remote.focus();
}
</script>
<h1>EDICION DE EVENTOS Y NOTICIA</h1>
<p> </p>
<form action="<?php echo $editFormAction; ?>" method="post" name="form1"
id="form1">
<table align="center">
<tr valign="baseline">
<td width="183" align="right" nowrap="nowrap">Imagen Grande(734x250px):</td>
<td width="358"><input type="text" name="strImagenGrande" value="<?php echo
htmlentities($row_DatosSlider['strImagenGrande'], ENT_COMPAT, 'iso-8859-1'); ?>"
size="25" />
<input type="button" name="button" id="button" value="Subir Imagen"
onclick="javascript:subirimagen('strImagenGrande');"/></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Imagen Pequeña(80x50px):</td>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 125
<td><input type="text" name="strImagenPequena" value="<?php echo
htmlentities($row_DatosSlider['strImagenPequena'], ENT_COMPAT, 'iso-8859-1'); ?>"
size="25" />
<input type="button" name="button2" id="button2" value="Subir Imagen"
onclick="javascript:subirimagen('strImagenPequena');"/></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Titulo:</td>
<td><input type="text" name="strTitulo" value="<?php echo
htmlentities($row_DatosSlider['strTitulo'], ENT_COMPAT, 'iso-8859-1'); ?>" size="25" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Subtitulo:</td>
<td><input type="text" name="strSubtitulo" value="<?php echo
htmlentities($row_DatosSlider['strSubtitulo'], ENT_COMPAT, 'iso-8859-1'); ?>" size="25"
/></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Menu:</td>
<td><input type="text" name="strMenu" value="<?php echo
htmlentities($row_DatosSlider['strMenu'], ENT_COMPAT, 'iso-8859-1'); ?>" size="25" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Link:</td>
<td><input type="text" name="strLink" value="<?php echo
htmlentities($row_DatosSlider['strLink'], ENT_COMPAT, 'iso-8859-1'); ?>" size="25" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Orden:</td>
<td><input type="text" name="intOrden" value="<?php echo
htmlentities($row_DatosSlider['intOrden'], ENT_COMPAT, 'iso-8859-1'); ?>" size="5" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Estado:</td>
<td><select name="intEstado">
<option value="1" <?php if (!(strcmp(1, htmlentities($row_DatosSlider['intEstado'],
ENT_COMPAT, 'iso-8859-1')))) {echo "SELECTED";} ?>>Activo</option>
<option value="0" <?php if (!(strcmp(0, htmlentities($row_DatosSlider['intEstado'],
ENT_COMPAT, 'iso-8859-1')))) {echo "SELECTED";} ?>>Desactivado</option>
</select></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td> <a class="button" href="javascript:document.form1.submit();"><span>Actualizar
registro</span></a></td>
</tr>
</table>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 126
<input type="hidden" name="MM_update" value="form1" />
<input type="hidden" name="idContador" value="<?php echo
$row_DatosSlider['idContador']; ?>" />
</form>
<p> </p>
<!-- InstanceEndEditable -->
<!-- end .content --></div>
<!-- end .container --></div>
</body>
<!-- InstanceEnd --></html>
<?php
mysql_free_result($DatosSlider);
?>
Control de residencias
<?php
session_start();
include_once('php_conexion.php');
include_once('Class/funciones.php');
include_once('Class/class_alumnos.php');
if($_SESSION['tipo_usu']=='a' or $_SESSION['tipo_usu']=='s'){
}else{
header('location:error.php');
}
#estado
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 127
if(!empty($_GET['estado'])){
$nit=limpiar($_GET['estado']);
$cans=mysql_query("SELECT * FROM salones WHERE estado='s'
and id='$nit'");
if($dat=mysql_fetch_array($cans)){
$xSQL="Update salones Set estado='n' Where id='$nit'";
mysql_query($xSQL);
header('location:salones.php');
}else{
$xSQL="Update salones Set estado='s' Where id='$nit'";
mysql_query($xSQL);
header('location:salones.php');
}
}
#paginar
$maximo=25;
if(!empty($_GET['pag'])){
$pag=limpiar($_GET['pag']);
}else{
$pag=1;
}
$inicio=($pag-1)*$maximo;
$cans=mysql_query("SELECT COUNT(nom_proy)as total FROM proyecto");
if($dat=mysql_fetch_array($cans)){
$total=$dat['total']; #inicializo la variable en 0
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Blanco</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<!-- Le styles -->
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/bootstrap-responsive.css" rel="stylesheet">
<link href="css/docs.css" rel="stylesheet">
<link href="js/google-code-prettify/prettify.css" rel="stylesheet">
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="js/jquery.js"></script>
<script src="js/bootstrap-transition.js"></script>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 128
<script src="js/bootstrap-alert.js"></script>
<script src="js/bootstrap-modal.js"></script>
<script src="js/bootstrap-dropdown.js"></script>
<script src="js/bootstrap-scrollspy.js"></script>
<script src="js/bootstrap-tab.js"></script>
<script src="js/bootstrap-tooltip.js"></script>
<script src="js/bootstrap-popover.js"></script>
<script src="js/bootstrap-button.js"></script>
<script src="js/bootstrap-collapse.js"></script>
<script src="js/bootstrap-carousel.js"></script>
<script src="js/bootstrap-typeahead.js"></script>
<script src="js/bootstrap-affix.js"></script>
<script src="js/holder/holder.js"></script>
<script src="js/google-code-prettify/prettify.js"></script>
<script src="js/application.js"></script>
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="assets/js/html5shiv.js"></script>
<![endif]-->
<!-- Le fav and touch icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-
icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-
icon-114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-
icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-
precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head>
<body data-spy="scroll" data-target=".bs-docs-sidebar">
<div align="center">
<table width="90%" border="0">
<tr>
<td>
<table class="table table-bordered">
<tr class="success">
<td>
<div class="row-fluid">
<div class="span6">
<h3><img src="img/curso.jpg" class="img-circle img-polaroid" width="70"
height="65"> Control de Residencias</h3>
</div>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 129
<div class="span6">
<div align="right">
<div class="btn-group">
<ul class="dropdown-menu">
<?php
$c=mysql_query("SELECT * FROM
proyecto GROUP BY nom_proy");
while($d=mysql_fetch_array($c)){
echo '<li><a
href="salones.php?cursos='.$d['curso'].'">'.$d['curso'].'</a></li>';
}
?>
<li><a href="salones.php?cursos=0">Todos</a></li>
</ul>
</div><br><br>
<form name="form1" method="post" action="">
<div class="input-prepend">
<span class="add-on"><i class="icon-search"></i></span>
<input name="bus" type="text" placeholder="Buscar Salones" class="input-
xlarge" autocomplete="off" autofocus>
</div>
</form>
</div>
</div>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<?php
if(!empty($_POST['nombre']) and !empty($_POST['curso'])){
$nombre=limpiar($_POST['nombre']);
$curso=limpiar($_POST['curso']);
if(empty($_POST['id'])){
$c_curso = new Proceso_Salones($nombre,$curso,'');
$c_curso->crear();
echo ' <div class="alert alert-info" align="center">
<button type="button" class="close"
data-dismiss="alert">×</button>
<strong>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 130
El Curso / Salon
"'.$nombre.'" Registrado con Exito en la Base de Datos
</strong>
</div>';
}else{
$id=limpiar($_POST['id']);
$c_curso = new Proceso_Salones($nombre,$curso,$id);
$c_curso->actualizar();
echo ' <div class="alert alert-info" align="center">
<button type="button" class="close"
data-dismiss="alert">×</button>
<strong>
El Curso / Salon
"'.$nombre.'" Actualizado con Exito en la Base de Datos
</strong>
</div>';
}
}
?>
<table class="table table-bordered table table-hover">
<tr class="success">
<td><strong>Nombre</strong></td>
<td><strong>Tipo de Proyecto</strong></td>
<td><strong>Periodo</strong></td>
<td><strong>Alumno</strong></td>
<td><strong>Empresa</strong></td>
<td><strong>Asesor Externo</strong></td>
<td><strong>Asesor Interno</strong></td>
<td><strong>Comentarios</strong></td>
</tr>
<?php
if(empty($_GET['cursos'])){
if(empty($_POST['bus'])){
$sql="SELECT * FROM proyecto ORDER BY nom_proy
LIMIT $inicio, $maximo";
}else{
$bus=limpiar($_POST['bus']);
$sql="SELECT * FROM proyecto WHERE nom_proy LIKE
'%$bus%' ORDER BY nom_proy LIMIT $inicio, $maximo";
}
}else{
$bus=limpiar($_GET['cursos']);
$sql="SELECT * FROM proyecto WHERE id='$bus' ORDER BY
nombre LIMIT $inicio, $maximo";
}
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 131
$can=mysql_query($sql);
while($dato=mysql_fetch_array($can)){
?>
<tr>
<td><p align="center"><?php echo $dato['nom_proy']; ?></p></td>
<td><?php echo $dato['tipo_proy']; ?></td>
<td><?php echo $dato['periodo']; ?></td>
<td><?php echo $dato['nom_alum']; ?></td>
<td><?php echo $dato['nom_empresa']; ?></td>
<td><?php echo $dato['asesor_externo']; ?></td>
<td><?php echo $dato['asesor_interno']; ?></td>
<td><?php echo $dato['comentario']; ?></td>
</tr>
<div id="actualizar<?php echo $dato['id']; ?>" class="modal hide fade" tabindex="-1"
role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<form name="form2" method="post" action="">
<input type="hidden" name="id" value="<?php echo $dato['id']; ?>">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
<h3 id="myModalLabel">Crear Nuevo Curso</h3>
</div>
<div class="modal-body">
<strong>Nombre del Salon</strong><br>
<input type="text" name="nombre" autocomplete="off" required value="<?php echo
$dato['nombre']; ?>"><br>
<strong>Nombre del Curso</strong><br>
<input type="text" name="curso" list="characters" autocomplete="off" required
value="<?php echo $dato['curso']; ?>"><br>
<strong>Horario</strong><br>
<input type="text" name="horario" autocomplete="off" required value="<?php echo
$dato['horario']; ?>"><br>
<strong>Disponible para la Carrera</strong><br>
<input type="text" name="carrera" autocomplete="off" required value="<?php echo
$dato['carrera']; ?>">
<datalist id="characters">
<?php
$c=mysql_query("SELECT nombre FROM salones ORDER
BY nombre");
while($d=mysql_fetch_array($c)){
echo '<option value="'.$d['nombre'].'">';
}
?>
</datalist>
<br>
</div>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 132
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true"><strong><i class="icon-
remove"></i> Cerrar</strong></button>
<button type="submit" class="btn btn-primary"><strong><i class="icon-ok"></i>
Actualizar Salon</strong></button>
</div>
</form>
</div>
<?php } ?>
</table>
<center>
<div class="pagination">
<ul>
<?php
if(empty($_GET['cursos']) and empty($_POST['bus'])){
$tp = ceil($total/$maximo);#funcion que devuelve entero
redondeado
for ($n=1; $n<=$tp ; $n++){
if($pag==$n){
echo '<li class="active"><a
href="salones.php?pag='.$n.'">'.$n.'</a></li>';
}else{
echo '<li><a
href="salones.php?pag='.$n.'">'.$n.'</a></li>';
}
}
}
?>
</ul>
</div>
</center>
</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
<div id="nuevo" class="modal hide fade" tabindex="-1" role="dialog" aria-
labelledby="myModalLabel" aria-hidden="true">
<form name="form2" method="post" action="">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
hidden="true">×</button>
<h3 id="myModalLabel">Crear Nuevo Curso</h3>
</div>
<div class="modal-body">
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 133
<strong>Nombre del Salon</strong><br>
<input type="text" name="nombre" autocomplete="off" required><br>
<strong>Nombre del Curso</strong><br>
<input type="text" name="curso" list="characters" autocomplete="off" required><br>
<strong>Horario</strong><br>
<input type="text" name="horario" autocomplete="off" required value="<?php echo
$dato['horario']; ?>"><br>
<strong>Disponible para la Carrera</strong><br>
<input type="text" name="carrera" autocomplete="off" required value="<?php echo
$dato['carrera']; ?>">
<datalist id="characters">
<?php
$can=mysql_query("SELECT nombre FROM salones
ORDER BY nombre");
while($dato=mysql_fetch_array($can)){
echo '<option value="'.$dato['nombre'].'">';
}
?>
</datalist>
<br>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true"><strong><i class="icon-
remove"></i> Cerrar</strong></button>
<button type="submit" class="btn btn-primary"><strong><i class="icon-ok"></i>
Guardar Salon</strong></button>
</div>
</form>
</div>
</div>
</body>
</html>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 134
Administracion de residencias
<?php require_once('../Connections/conexionportal.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "",
$theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ?
mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 135
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO proyecto (nom_alum, nom_proy, tipo_proy, periodo,
nom_empresa, asesor_externo, asesor_interno, comentario) VALUES (%s, %s, %s, %s, %s,
%s, %s, %s)",
GetSQLValueString($_POST['nom_alum'], "text"),
GetSQLValueString($_POST['nom_proy'], "text"),
GetSQLValueString($_POST['tipo_proy'], "text"),
GetSQLValueString($_POST['periodo'], "text"),
GetSQLValueString($_POST['nom_empresa'], "text"),
GetSQLValueString($_POST['asesor_externo'], "text"),
GetSQLValueString($_POST['asesor_interno'], "text"),
GetSQLValueString($_POST['comentario'], "text"));
mysql_select_db($database_conexionportal, $conexionportal);
$Result1 = mysql_query($insertSQL, $conexionportal) or die(mysql_error());
$insertGoTo = "buscador_residencia.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin
template="/Templates/plantillaadmin.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Administracion de Residencias</title>
<!-- InstanceEndEditable -->
<!-- InstanceBeginEditable name="head" -->
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 136
<!-- InstanceEndEditable -->
<link href="../css/estiloadmin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="container">
<div class="header"></div>
<div class="content"><!-- InstanceBeginEditable name="ParteDerechaAdmin" -->
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
<p> </p>
<div class="row-fluid">
<div class="span6">
<center><h1>Administración de Residencias</h1></center>
</div>
<table align="center">
<tr valign="baseline">
<td nowrap="nowrap" align="right">Nombre del Alumno:</td>
<td><input type="text" name="nom_alum" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Nombre de la Residencia:</td>
<td><input type="text" name="nom_proy" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Tipo de Poyecto:</td>
<td><input type="text" name="tipo_proy" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Periodo:</td>
<td><input type="text" name="periodo" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Empresa:</td>
<td><input type="text" name="nom_empresa" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Asesor Externo:</td>
<td><input type="text" name="asesor_externo" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Asesor Interno:</td>
<td><input type="text" name="asesor_interno" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td height="30" align="right" nowrap="nowrap">Comentario:</td>
<td><input type="text" name="comentario" value="" size="32" /></td>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 137
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<div align="center"><td><a class="button"
href="javascript:document.form1.submit();"><span>Insertar Slider</span></a>
</td></div>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>
<p> </p>
<!-- InstanceEndEditable -->
<!-- end .content --></div>
<!-- end .container --></div>
</body>
<!-- InstanceEnd --></html>
Administracion de anteproyecto
<?php require_once('../Connections/conexionportal.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "",
$theNotDefinedValue = "")
{
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 138
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ?
mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO aceproyecto (nom_proyecto, nom_asesor,
nom_alumno, matricula) VALUES (%s, %s, %s, %s)",
GetSQLValueString($_POST['nom_proyecto'], "text"),
GetSQLValueString($_POST['nom_asesor'], "text"),
GetSQLValueString($_POST['nom_alumno'], "text"),
GetSQLValueString($_POST['matricula'], "text"));
mysql_select_db($database_conexionportal, $conexionportal);
$Result1 = mysql_query($insertSQL, $conexionportal) or die(mysql_error());
$insertGoTo = "aceptacion.php";
if (isset($_SERVER['QUERY_STRING'])) {
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 139
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin
template="/Templates/plantillaadmin.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Administracion Eventos y Noticias</title>
<!-- InstanceEndEditable -->
<!-- InstanceBeginEditable name="head" -->
<!-- InstanceEndEditable -->
<link href="../css/estiloadmin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="container">
<div class="header"></div>
<div class="content"><!-- InstanceBeginEditable name="ParteDerechaAdmin" -->
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
<p> </p>
<div class="span6">
<center>
<h1>Administración de Resultado de Anteproyectos</h1></center>
</div>
<table align="center">
<tr valign="baseline">
<td nowrap="nowrap" align="right">Proyecto:</td>
<td><input type="text" name="nom_proyecto" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Asesor Interno:</td>
<td><input type="text" name="nom_asesor" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Alumno:</td>
<td><input type="text" name="nom_alumno" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Matricula:</td>
<td><input type="text" name="matricula" value="" size="32" /></td>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 140
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td> <a class="button" href="javascript:document.form1.submit();"><span>Insertar
Slider</span></a> </td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>
<p> </p>
<!-- InstanceEndEditable -->
<!-- end .content --></div>
<!-- end .container --></div>
</body>
<!-- InstanceEnd --></html>
Cambiar contraseña
<?php
session_start();
include_once('php_conexion.php');
include_once('class/funciones.php');
include_once('class/class.php');
# if($_SESSION['tipo_usu']=='a' or $_SESSION['tipo_usu']=='u'){
# }else{
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 141
# header('location:error.php');
# }
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Cambiar Clave</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<!-- Le styles -->
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/bootstrap-responsive.css" rel="stylesheet">
<link href="css/docs.css" rel="stylesheet">
<link href="js/google-code-prettify/prettify.css" rel="stylesheet">
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script src="js/jquery.js"></script>
<script src="js/bootstrap-transition.js"></script>
<script src="js/bootstrap-alert.js"></script>
<script src="js/bootstrap-modal.js"></script>
<script src="js/bootstrap-dropdown.js"></script>
<script src="js/bootstrap-scrollspy.js"></script>
<script src="js/bootstrap-tab.js"></script>
<script src="js/bootstrap-tooltip.js"></script>
<script src="js/bootstrap-popover.js"></script>
<script src="js/bootstrap-button.js"></script>
<script src="js/bootstrap-collapse.js"></script>
<script src="js/bootstrap-carousel.js"></script>
<script src="js/bootstrap-typeahead.js"></script>
<script src="js/bootstrap-affix.js"></script>
<script src="js/holder/holder.js"></script>
<script src="js/google-code-prettify/prettify.js"></script>
<script src="js/application.js"></script>
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="assets/js/html5shiv.js"></script>
<![endif]-->
<!-- Le fav and touch icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-
icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-
icon-114-precomposed.png">
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 142
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-
icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-
precomposed.png">
<link rel="shortcut icon" href="assets/ico/favicon.png">
</head>
<body data-spy="scroll" data-target=".bs-docs-sidebar">
<div align="center">
<table width="50%" border="0">
<tr>
<td>
<table border="0" class="table table-bordered">
<tr class="success">
<td>
<center><strong>
<h3><img src="img/seguridad.jpg" class="img-circle img-polaroid" width="50"
height="65">
Cambiar Contraseña</h3>
</strong></center>
</td>
</tr>
<tr>
<td>
<div align="center">
<form name="form1" method="post" action="">
<label><strong>Contraseña Antigua: </strong></label><input type="password"
name="contra" id="contra" required>
<label><strong>Nueva Contraseña: </strong></label><input type="password"
name="c1" id="c1" required>
<label><strong>Repita Nueva Contraseña: </strong></label><input type="password"
name="c2" id="c2" required><br><br>
<input type="submit" name="button" id="button" class="btn btn-primary"
value="Cambiar Contraseña">
</form>
<?php
if(!empty($_POST['c1']) and !empty($_POST['c2']) and !empty($_POST['contra'])){
if($_POST['c1']==$_POST['c2']){
$usuario=limpiar($_SESSION['username']);
$nueva=limpiar($_POST['c2']);
$objProfesor=new Consultar_Profesor($usuario);
$nit=$objProfesor->consultar('nit');
$contra=limpiar($_POST['contra']);
$sql="SELECT * FROM profesor WHERE usu='".$usuario."' and
con='".$contra."'";
$can=mysql_query($sql);
if($dato=mysql_fetch_array($can)){
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 143
$cnueva=limpiar($nueva,$nit);
$sql="Update profesor Set con='$cnueva' Where
usu='$usuario'";
mysql_query($sql);
echo '<div class="alert alert-info" align="center">
<button type="button" class="close" data-
dismiss="alert">×</button>
<strong>Contraseña!</strong> Actualizada con
exito
</div>';
}else{
echo '<div class="alert alert-error">
<button type="button" class="close" data-
dismiss="alert">×</button>
<strong>Contraseña!</strong> Digitada no
corresponde a la antigua<br>
'.$sql.'
</div>';
}
}else{
echo '<div class="alert alert-error">
<button type="button" class="close" data-
dismiss="alert">×</button>
<strong>Las dos Contraseña!</strong> Digitadas
no soy iguales
</div>';
}
}
?>
</div>
</td>
</tr>
</table>
</td></tr>
</table>
</div>
</body>
</html>
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 144
Diagramas de casos de uso:
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 145
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 146
Diagrama de secuencia:
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 147
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 148
CAPITULO V
CONCLUSIONES Y RECOMENDACIONES
Conclusión
Este proyecto permite automatizar un proceso de vital importancia en el
instituto tecnológico superior de Acayucan, específicamente en el
departamento de desarrollo académico: permitirá tener en tiempo real y de
manera oportuna la información adecuada al servicio de los docentes que se
encuentran laborando en la academia de isc e info.
Este sistema controla todo el proceso y tiene como objetivo mejorar los
servicios para llevar la adecuada y oportuna atención de los docentes. En
este sentido los sistemas de información ofrecen a las organizaciones de
institucionales, grandes oportunidades que van desde la información y
automatización de sus procesos internos, proporcionando mejoras continuas
y la prestación de servicio de calidad.
Pero también, existen dificultades o barreras que deben ser superadas como
las relacionadas con las políticas del departamento en su manera de pensar
y fundamentalmente en los aspectos de implementación del proceso a
exponer los beneficios que conlleva la automatización.
Recomendaciones
Para mejorar este sistema se puede tomar en cuenta la siguiente
acotación: guiar a los usuarios del departamento de desarrollo académico
que van a utilizar el sistema. Pará mejorar el funcionamiento del mismo.
Diseñar un plan de seguridad y respaldo que permita asegurar los datos en
caso de cualquier eventualidad, protegiéndolos de virus, robos y pérdida de
información; Es decir cuidar la integridad de los datos.
Mantenimiento constante al sistema, cómo a la base de datos, ya que
ayudara a verificar el buen funcionamiento de este o a encontrar posibles
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 149
errores no programas que se puedan presentar probablemente por manejar
inadecuadamente el sistema o por cualquier otra situación.
Sacarle un buen provecho este sistema es importante ya que ofrece la
solución a las necesidades de llevar un control adecuado de la información
y de mejora continua, ofreciendo un servicio de calidad en el departamento.
Para culminar, lo escrito de este apartado, sé llega a la conclusión que fue
factible lograr el desarrollo del mismo, al haberse desarrollado el sistema
“Implantación de plataforma web para la comunidad de isc e informática”, el
cual puede ser susceptible al efectuarle ajustes de acuerdo a los nuevos
requerimientos que se tengan en el proceso de puesta en marcha del
sistema.
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 150
CAPÍTULO VI
Anexos
NOMBRE DE LA EMPRESA O NEGOCIO:
Instituto Tecnológico Superior de Acayucan. (ITSA)
NOMBRE DEL REPRESENTANTE LEGAL:
M.C. JUVENCIO GERARDO DE LEÓN OLARTE
DIRECTOR GENERAL
DIRECCION:
Carretera Costera del Golfo Km. 216.4, Colonia Agrícola Michapan, C.P.
96000, telefono 01(924) 24 5 7410 / Fax (924)5 7418, Acayucan, Veracruz.
ASESOR EXTERNO:
MTI. MIGUEL HERNANDEZ LINARES
JEFE DE DIVISIÓN DE CARRERA LICENCIATURA E INGENIERA EN
INFORMATICA
TELEFONO: 9241103617
E-MAIL: [email protected]
IMPLANTACION DE PLATAFORMA WEB PARA LA COMUNIDADDE INGENIERIA EN SISTEMAS COMPUTACIONALES E INFORMATICA
INGENIERIA EN SISTEMAS COMPUTACIONALES Página 151
REFERENCIAS BIBLIOGRÁFICAS
Fundamentos de Seguridad en Redes Aplicaciones y Estándares
2ª Ed.
William Stalling, Editorial Pearson Prentice Hall.
Fundamentos de PHP
Vikram Vaswani, Edit. Mc Graw Hill
Fundamentos de php más de 100 algoritmos Codificados.
Autor: Ricardo Marcelo Villalobos Empresa Editora Macro E.I.R.L.
Macromedia Dreamweaver
Cesar Pérez Alfaomega Grupo Editor, S.A. de C.V.
MySQL para Windows y Linux 2ª. Edición.
Cesar Pérez López Alfaomega Grupo Editor, S.A. de C.V.
PHP5 a través de ejemplos.
Abraham Gutiérrez, Ginés Bravo Alfaomega Grupo Editor, S.A. de
C.V.
Redes de Computadora 4ª. Edición.
Andrew S. Tanenbaum
Tecnología y Diseño de Base de Datos.
Mario G. Piattini, Esperanza Marcos, Coral calero y Belén Vela,
Alfaomega Grupo Editor, S.A. de C.V.