Ahora que tenemos nuestra base de datos instalada, y un index.php (semi vacio) es el momento de preparar algunas cosas básicas.
Un
CMS nos permite movernos entre sus paginas de una forma paginada y ordenada, así podemos cambiar a la sección de registrar usuarios, ver entradas, comentar, etc.. sin necesidad de cambiar de script continuamente, esto se hace mediante includes y peticiones
_GET. Para el programador es una gran ventaja, puesto que no tiene que repetir código en todos los scripts, y si surge un fallo sabe que lo tiene en un solo script y que no tendrá que modificar todos los demás. De esta forma el mantenimiento y modificación del sistema es mas ordenado y fácil. Esto es llamado comúnmente como
programación modular.
Puesto que el desarrollo del sistema se va complicado poco a poco, vamos a preparar y crear diferentes scripts que nos sirvan de cara al futuro.
Primero nos dirigimos al
index.php y en la parte superior definimos una constante que nos servirá para evitar que se ejecuten scripts de forma separada al index.
Podemos usar el nombre de la constante que nosotros queramos, yo he usado
CAPRICORN, mi consejo es que pongamos en mayúsculas siempre las constantes, de esta forma las diferenciaremos rápidamente.
Ahora incluimos un archivo llamado
sec.php (el cual aun no hemos creado) que estará dentro de un directorio llamado
includes, se encargara de mostrarnos la sección que le pidamos mediante
_GET, también debemos incluir el script
config.php que nos genero el instalador, pero ambos han de ser incluidos dentro del
if() que tiene que comprobar si el sistema ya esta instalado, ademas, en caso de fallo al incluir el script el resto de la pagina no debe de cargar, para esto usaremos
require(); y una vez incluido config.php hacemos conexión a la base de datos usando las variables que contiene, el
index.php debe de quedar así:
Código PHP:
Ver original<?php
define("CAPRICORN", 1); //Definimos una constante para evitar que se ejecuten scripts por separado.
//Comprobamos que existe el archivo config.php
//Si existe redireccionamos al archivo install.php
header("Location: install.php");
} else {
//Si no existe ejecutamos el index normalmente
require("config.php"); //Requerimos config.php
require("includes/sec.php"); //Requerimos pag.php
//Conectamos con la base de datos
//Incluimos el contenido definido en sec.php
include($include_scp);
//Cerramos la conexion
}
?>
Lo siguiente es crear el directorio includes y el script sec.php en su interior.
El script sec.php debe ‘
morir‘ o redirigirse a el index si alguien entra directamente al directorio
http://localhost/includes/sec.php, para eso ya definimos una constante en el index.php, ahora solamente tenemos que comprobar que la constate esta definida cuando se ejecuta
sec.php, para eso lo primero que debe contener sec.php es lo siguiente:
De esta forma evitamos que sea ejecutado de forma separada del index.php.
Ahora usaremos la función
switch(), la cual es muy similar a
if,else, para comparar la variable que entra por
_GET y incluir el archivo necesario. El archivo
sec.php debe de quedar asi:
Código PHP:
Ver original<?php
//Si el script se ejecuta de forma separada a index.php redireccionamos al index.
header('Location: index.php'); }
//Comprobamos que _GET tiene el valor sec
//Si lo tiene definimos scripts a incluir segun su valor.
switch ($_GET['sec']){
case registro:
$include_scp = "includes/register.php";
break;
default:
$include_scp = "includes/index.php";
break;
}
}else{
//Si _GET no tiene valor o no es sec, definimos una script por defecto a incluir.
$include_scp = "includes/index.php";
}
?>
Como se ve he incluido una referencia a un script por defecto y otro a ‘
registro‘ que dirige a la script
register.php, de momento quedan esos dos, pero se añadirán muchos mas que formaran la base de nuestro sistema, y en un futuro inventamos algo para añadir módulos o plugins adicionales sin necesidad de modificar la script.
Ahora lo que tenemos que hacer es crear
dentro del directorio includes los archivos
index.php y
register.php, a los cuales hay que añadirle que compruebe que son ejecutados a través del index principal, podrían ser estos:
register.php:
Código PHP:
Ver original<?php
//Si el script se ejecuta de forma separada a index.php redireccionamos al index.
header('Location: index.php'); }
echo "Te encuentras ahora mismo en register.php";
?>
index.php:
Código PHP:
Ver original<?php
//Si el script se ejecuta de forma separada a index.php redireccionamos al index.
header('Location: index.php'); }
echo "Te encuentras ahora mismo en el index.php";
?>
Así al entrar en
http://localhost/index.php nos estará mostrando includes/index.php y al entrar en
http://localhost/index.php?sec=registro nos mostrara includes/register.php.
De momento ya tenemos montada la base de un sistema de gestión modular, podeis encontrar todos los script usados hasta ahora
aquí. Estaré encantado de leer dudas y sugerencias.