Te proponemos crear un sitio web utilizando los lenguajes HTML5, CSS3 y PHP5 para la presentación de los datos y el interfaz con el usuario, así como el gestor de bases de datos MySQL o MariaDB para almacenar y tratar los datos persistentes relativos al mismo.
Este sitio web debe cumplir los siguientes requisitos generales:
- Utilizar la codificación de caracteres UTF-8.
- Estar escrito y validar en HTML5 (W3C Markup validation service).
- Incluir enlaces para la navegación entre páginas.
Además de los siguientes requisitos opcionales:
- Utilizar Bootstrap Framework para crear un diseño web adaptable a nuestro sitio.
- Estar alojado en un servidor web accesible globalmente (ver recomendados). Aunque durante el desarrollo se puede trabajar en local.
A continuación detallamos cada una de las páginas que deben aparecer en el sitio así como los requisitos particulares de cada una de ellas.
Base de datos
Se debe elegir un tema sobre el que se almacenarán datos en nuestro sitio web, diferente al tema del resto de compañeros. Por ejemplo comidas, deportes, listado de software, enlaces de internet, etc.
Una vez elegido se diseñará una base de datos con las tablas y campos necesarios para almacenar dicha información. La tabla de la base de datos debe tener una clave primaria que identifique de manera inequívoca cada una de las tuplas de la misma.
index.php
Página inicial o portada de nuestro sitio web. Contendrá una cabecera o imagen sobre el tema tratado, además de un índice a las siguientes páginas:
- Insertar datos (ir a la página insert_form.php).
- Ver datos (ir a la página select_data.php).
- Exportar datos a XML (ir a la página xml_data.php).
insert_form.php
Mostrará un formulario con todos los datos que se desean almacenar en la base de datos. Suponiendo que he elegido almacenar platos de comida típica andaluza, adaptaré los datos como podéis ver más adelante de ejemplo. El formulario debe tener los siguientes campos como mínimo:
- Campo de texto del tipo "text" (nombre del plato).
- Campo de texto del tipo "date" (antigüedad del plato).
- Campo desplegable del tipo "select" (tipo de plato, carne, pasta, legumbres, ensaladas...).
- Campo de elección única del tipo "radio" ("Con gluten" o "Sin gluten").
- Campo de selección múltiple del tipo "checkbox" (provincias donde se puede encontrar).
- Campo de texto de varias líneas del tipo "textarea" (observaciones).
Todos los campos, menos el de texto de varias líneas, son obligatorios rellenarlos por el usuario para poder almacenarlos en la base de datos.
El botón para enviar el formulario mediante el método POST nos llevará a la página insert_data.php.
Incluir un enlace para volver al índice.
insert_data.php
Esta página trabajará con los datos que provienen del formulario anterior.
Si hay algún error en los datos o hay alguno sin rellenar, la página informará de dicho error y se detendrá la ejecución. Las variables $_POST deben ser tratadas y convertidas a variables normales para su uso.
Si todos los datos son correctos y no se ha dejado en blanco ninguno de los datos obligatorios:
- Se mostrará una lista no ordenada con los datos que se van a introducir en la base de datos.
- Se insertarán los mismos datos del formulario en la base de datos y se indicará si se ha realizado correctamente.
Incluir un enlace para volver al formulario y al índice.
select_data.php
Esta página mostrará una tabla con todos los datos almacenados en la base de datos. Las variables $_GET deben ser tratadas y convertidas a variables normales para su uso.
En la cabecera aparecerá la opción de ordenar la tabla, ascendente o descendente, mediante al menos dos columnas de la misma. Se realizará mediante parámetros GET en la URL.
Junto a cada fila de la tabla aparecerá la opción "Eliminar" que al pulsarla nos redirigirá a la página delete_data.php.
Junto a cada fila de la tabla aparecerá la opción "Actualizar" que al pulsarla nos redirigirá a la página update_form.php.
Incluir un enlace para volver al índice.
delete_data.php
Esta página eliminará el registro de la base de datos indicado mediante el parámetro GET en la URL. Las variables $_GET deben ser tratadas y convertidas a variables normales para su uso.
Al finalizar indicará si el borrado se ha realizado o no correctamente, controlando el caso en el que no se pase ningún ID por parámetro en la URL.
Incluir un enlace para volver a la tabla con los datos y al índice.
update_form.php
Esta página recuperará el registro de la base de datos indicado mediante el parámetro GET en la URL y mostrará los datos obtenidos en un formulario ya relleno, el cual podrá ser modificado por el usuario. El campo de texto con la clave primaria se debe mostrar pero estará deshabilitado para que el usuario no lo modifique. Las variables $_GET deben ser tratadas y convertidas a variables normales para su uso.
El botón para enviar el formulario mediante el método POST nos llevará a la página update_data.php.
Incluir un enlace para volver a la tabla con los datos y al índice.
update_data.php
Esta página trabajará con los datos que provienen del formulario anterior.
Si hay algún error en los datos o hay alguno sin rellenar, la página informará de dicho error y se detendrá la ejecución. Las variables $_POST deben ser tratadas y convertidas a variables normales para su uso.
Si todos los datos son correctos y no se ha dejado en blanco ninguno de los datos obligatorios:
- Se mostrará una lista no ordenada con los datos que se van a actualizar en la base de datos.
- Se actualizarán los mismos datos del formulario en la base de datos y se indicará si se ha realizado correctamente.
Incluir un enlace para volver al formulario, a la table de datos y al índice.
xml_data.php
Esta página exportará tus datos almacenados en la base de datos a un documento en formato XML que se encuentre bien formado.
Ejercicios prácticos de PHP escrito por Rafa Morales está protegido por una licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional