Vous êtes sur la page 1sur 2

CARRERA DE INGENIERÍA I NFORMÁTICA

Programación WEB. CURSO 2011 - 2012 FILIAL PLAYA


TRABAJO DE CONTROL P ARCIAL

Nombre: ____________________________________________ Grupo: ___________ Bat A

Se desea implementar un sitio web para la venta de entradas a conciertos. Para ello se tiene
una base de datos que guarda la información referente a los conciertos, usuarios y ventas.

conciertos (id_concierto, grupo, cant_entradas, sala, fecha, estilo)


usuarios (nombre, email, usuario, contrasena, rol)
ventas (numero, fecha, id_concierto, comprador)

Como gestor de base de datos debe utilizarse MySQL. La base de datos se denomina
db_conciertos, y está ubicada en el servidor cultural. Para conectarse utilice el usuario
conciertos y contraseña p@ss. Para manipular la base de datos debe usar la biblioteca ADOdb.
Cuando un usuario acceda al sitio solo podrá visualizar los conciertos que están en venta según
su categoría en la página (index.php), para poder realizar las compras debe primeramente
registrase en la página adduser.php.
Los usuarios con rol de administrador podrán insertar, modificar y eliminar los conciertos por
lo que deberán entrar su usuario y contraseña. En caso de que sean válidos los datos, podrán
acceder a la página admconc.php.
Las imágenes del sitio se encuentran en la carpeta imagenes. Proponga la estructura final de
directorios del sitio (para ello lea completamente el examen).
A partir de lo explicado anteriormente.

1. Defina la clase necesaria, con sus miembros y métodos, para manipular la entidad
conciertos. No es necesario implementar los métodos solo deben de declararse.
Especifique el fichero y su ubicación donde pondría este código.
2. Defina una clase para conectarse a la base de datos y que haciendo uso de la clase
anterior implemente los siguientes métodos. Especifique el fichero y su ubicación
donde pondría este código.
a) obtenerConciertos, que permita obtener los conciertos de un grupo específico.
b) insertarConciertos, que permita insertar un Concierto contando con sus datos.
3. Proponga el código de la pagina HTML donde se muestre un formulario en el cual se
puedan teclear los datos de un concierto. Ese formulario debe enviar los datos hacia la
página insertar_concierto.php.
4. Codifique la página insertar_concierto.php donde se reciban los datos del concierto y
se inserten en la BD.
5. Proponga el código de la página conciertos.php que muestra los conciertos (grupo,
cant_entradas, sala, fecha) a partir del concierto seleccionado. Tenga en cuenta que la
llamada a esta página es la siguiente:
<a href= “conciertos.php?id_concierto= <?php echo $id_concierto; ?>”>

Este listado debe mostrarse en html de la manera siguiente:


Datos del Concierto
Grupo Cantidad de Entradas Sala Fecha
… … … ...

La tabla anterior debe tener el siguiente formato (borde azul y fuente: Arial 16), este
estilo debe definirse en un fichero externo.
6. Para añadir un nuevo usuario al sitio debe hacerse a través de la página de registro, la
cual contiene un formulario (frmRegistro) donde se piden los siguientes datos: nombre
completo (tfdNombre), usuario (tfdUsuario), email (tfdEmail), contraseña (tfdPass),
confirmación (tfdConfirmPass) de contraseña y rol (tfdRol). Escriba la función
JavaScript que valide que la contraseña tenga al menos 8 caracteres y no contenga el
nombre de usuario. Si se produce algún error el borde del edit correspondiente debe
colorearse de rojo.

JavaScript
variablecadena.indexOf(subcadena, índiceinicio) Devuelve la posición del carácter
donde ocurre la primera coincidencia de una subcadena dentro de un objeto String. Si
no se encuentra la subcadena, se devuelve -1.
o índiceinicio Un valor entero opcional que especifica el índice para iniciar la
búsqueda dentro del objeto String. Si se omite, la búsqueda comienza en el inicio.
textName.focus(): Pone el foco sobre el componente.
Variabledecadena.lastIndexOf(subcadena, índiceinicio) Devuelve la última coincidencia
de una subcadena dentro de un objeto String. Si no se encuentra la subcadena, se
devuelve -1.
o índiceinicio Un valor entero opcional que especifica el índice para iniciar la
búsqueda dentro del objeto String. Si se omite, la búsqueda comienza al final.
variablecadena.charAt(index) Devuelve el carácter en la posición (index) especificada.
Variablecadena.length() Devuelve la longitud de la cadena

ADODB
Connect ($host, [$user], [$password], [$database]): Establece una conexión con el
servidor $host, usuario $user, contraseña $password, y base de datos $database.
Execute($sql): Devuelve un RecordSet o FALSE si hubo algún error.
SelectLimit($sql, $numrows=-1, $offset=-1): Devuelve un RecordSet o FALSE si hubo
algún error. Permite obtener un límite de filas $numrows a partir de una fila especifica
en $offset.
NewADOConnection($driver): Crea un objeto ADOConnection, especificándole el
gestor de base de datos $driver al que nos conectaremos.
Fields($colname): Devuelve el valor del campo $colname de la fila activa. El nombre
del campo no es sensible a las mayúsculas.
FetchNextObj(): Obtiene la fila activa como objeto y mueve el cursor a la siguiente fila.
MoveNext(): Mueve el cursos a la siguiente fila del recordset.
RecordCount(): Devuelve el número de filas del recordset.
EOF: Devuelve true si el cursor pasó la última fila del recordset.