Volver al índiceExamen - Noticias

En este examen se debe crear un portal de noticias que muestre en la portada las noticias del día, pero que también permita consultar noticias anteriores o futuras. El código fuente (tanto PHP como HTML) de las páginas debe estar correctamente tabulado para facilitar la legibilidad.

El primer ejercicio debe hacerse en un directorio llamado noticias1 y debe utilizar una base de datos llamada noticias1. El segundo ejercicio debe hacerse en un directorio llamado noticias2 y debe utilizar una base de datos llamada noticias2.


Noticias 1 - Sin sesiones

En este primer ejercicio todos los usuarios tienen acceso a todas las opciones de los menús.


La página principal muestra las noticias de ese día y dos opciones de menú: Nueva noticia y Editor.

Noticias - Página principal


La Nueva noticia se crea escribiendo los campos Fecha, Autor, Título y Descripción. Además, hay que guardar la fecha y hora de creación de la noticia (para poder ordenarlas al mostrarlas en portada). Para simplificar, el usuario debe escribir la fecha con el formato AAAAMMDD.

Noticias - Nueva Noticia

Noticias - Noticia añadida

Para ver noticias de otros días, hay que pulsar en el enlace (día anterior o día siguiente).

Noticias - Cambiar de día

Noticias - Cambiar de día


Si hay noticias del día, se muestran en la portada:

Noticias - Mostrar noticias del día en la página principal


El menú Editor permite Borrar noticias o Borrar todo:

Noticias - Menú Editor


Las noticias se pueden borrar individualmente:

Noticias - Borrar noticias individualmente


La base de datos se crea con la opción Borrar todo:

Noticias - Borrar todo


Fechas

En la tabla hay que guardar un campo fecha de tipo DATE (que escribe el usuario y que tiene el formato AAAAMMDD) y otro de tipo DATETIME (que se genera automáticamente y que tiene el formato AAAA-MM-DD HH:MM:SS).

 $fecha2 = date("Y-m-d H:i:s");

Para generar la cadena del día anterior y del día siguiente:

if (isset($_REQUEST['dia']))
  $dia = recoge_para_consulta($db, 'dia');
else
  $dia = date("Ymd");
...
$dia_unix = mktime (12,0,0,substr($dia,4,2), substr($dia,6,2), substr($dia,0,4));
$siguiente_unix = $dia_unix + 3600*24;
$siguiente = date("Ymd", $siguiente_unix);
$anterior_unix = $dia_unix - 3600*24;
$anterior = date("Ymd", $anterior_unix);
...
print "<a href='index.php?dia=$anterior'><<</a>";


Noticias 2 - Con sesiones

En este segundo ejercicio los usuarios no registrados solamente pueden ver las noticias, pero no crearlas. El usuario registrado con el nombre del superusuario (por ejemplo, "root") tiene acceso al menú de editor, pero tampoco puede crear noticias. El resto de usuarios registrados pueden crear noticias.


El usuario no registrado puede consultar noticias, pero no crearlas.

Noticas - Página principal


El proceso de registro es el de siempre: nombre y contraseña, repitiendo la contraseña si no se está registrado:

Noticias - Registro de usuario

Noticias - Confirmación de contraseña

Noticias - Nuevo usuario registrado


El usuario registrado puede crear nuevas noticias y Salir:

Noticias - Usuario regisatrado


Al registrarse, ya no es necesario el campo Autor al crear la noticia:

Noticias - Nueva noticia


El usuario Superusuario tiene las opciones de Editor del Ejercicio anterior:

Noticias - Menú de superusuario

Esta página forma parte del curso "Páginas web con PHP" disponible en http://www.mclibre.org
Autor: Bartolomé Sintes Marco
Última modificación de esta página: 29 de marzo de 2006

Creative Commons License
Esta obra está bajo una licencia de Creative Commons Reconocimiento-CompartirIgual 3.0 España.