EJERCICIOS DE CGI CON PERL DBI
|
Vamos a realizar un sistema de ejemplo que nos va a permitir manejar una base de datos a
través de Internet. En dicha base de datos tendremos una tabla de artículos
que se podrán vender, mediante pedidos a contrareembolso. Dichos pedidos se
almacenarán en otra tabla. En los pedidos necesitamos los datos del cliente que realiza
la compra, a partir de estos datos, se va a poder construir una tabla de clientes.
El sistema debe ser capaz de realizar los siguientes
scripts con Perl y DBI:
- creabd.pl: Este script crea la base de datos.
- insertabd.pl: Este script inserta ejemplos en la base de datos.
- borrabd.pl: Este script destruye la base de datos.
Y de realizar los siguientes CGI:
- Para la tabla de artículos:
- lista_articulos.pl: Este CGI lista todos los artículos de la tabla
de artículos. Desde esta lista podremos borrar los artículos o comprarlos.
- inserta_articulo.pl: Este CGI inserta un artículo en la tabla
de articulos, a través de una página HTML
con un formulario.
- borra_articulo.pl: Este CGI borra un artículo en la tabla
de articulos. Se llama a través del listado
de artículos, o de una página HTML
con un formulario.
- Para la tabla de pedidos:
- guarda_pedido.pl: Este CGI guarda el pedido de un artículo
realizado por un cliente en la tabla de articulos. El pedido se formula en un CGI que genera un
formulario, dicho CGI se entrega ya resuelto.
- borra_pedido.pl:Este CGI borra un pedido de la tabla de pedidos.
Se llama a través del listado de pedidos, o de una página HTML
con un formulario.
- lista_pedidos.pl: Este CGI lista todos los pedidos. Desde
esta lista podremos borrar artílos
- Para la tabla de clientes:
- Hay que modificar los siguientes scripts/CGI:
- creabd.pl:Para que cree también la tabla de clientes.
Tiene los siguientes atributos:
- nombre: Cadena con el nombre y apellidos del cliente. Llave primaria
- email: Cadena con la dirección de correo electrónico
del cliente.
- direccion: Cadena con la dirección completa del cliente.
- telefono: Cadena con el teleéfono del cliente.
- borrabd.pl:Para que borre también la tabla de clientes.
- guarda_pedido.pl: Para que el cliente que realiza el pedido, se
incluya (si no está) en la tabla de clientes.
- Hay que realizar los siguientes CGI:
- lista_clientes.pl: Este CGI lista los clientes que tenemos
en la tabla de clientes. Con la posibilidad de poder enviar
correos electrónicos a cada cliente.
- correo_clientes.pl: Este CGI envia un correo
electrónico a todos los clientes.
En la realización de este ejemplo, por falta de tiempo, no podremos tener en cuenta:
- Controlar el acceso a la base de datos a personas ajenas a la misma
- Que los pedido se hagan de forma segura (transacciones seguras).
- Que se pueda comprar más de un artílo por pedido
- Diseņo de las páginas HTML y CGI (algo fundamental si se quiere vender algo)
- Detalles fundamentales, en casos reales, como existencias disponibles, datos
fiscales (IVA), protección de datos de los clientes, etc.
- Tampoco tendremos en cuenta reglas referenciales, es decir, podemos tener
pedidos guardados de artículos que ya han sido borrados.
Las páginas HTML y CGI que hacen falta para estos ejercicios
(y que ya están hechos) están a continuación:
Hay que tener en cuenta que en este ejemplo las páginas HTML deben instalarse
en el directorio htdocs del Apache y los cgi en el directorio cgi-bin del
Apache.
Todos las páginas y esqueletos de CGI que ya están hechos los podeis encontrar
aquí. Al directorio con las páginas HTML se accede
pulsando aquí. Al directorio con los esqueletos de los CGI se accede
pulsando aquí.
Todos los CGI y páginas ya resueltos los podeis encontrar aquí.
Consejo: Como al final del cursillo hay que hacer y entregar un trabajo sobre las
cosas que se han aprendido, sería una buena idea coger este ejercicio, retocarlo
(las páginas HTML y aglún CGI) y ampliarlo. Además, si se hace bien,
incluso se puede vender a alguna pequeña empresa.