Pas trop mal pour une première fois, par contre qques remarques :
"Ici on va maintenant récupérer la configuration donc.."
$config = $db->query('...')
Moi personnellement j'ai fait une table dans ma db avec une colonne, j'ai entouré tout mon sites web de deux include et si la colonne dans ma db est sur 1, sa renvoie vers la page maintenance, si il est sur 0 l'utilisateur peut continuer à visité le site.
Oui, mais ma technique permet de taper les instructions qu'une foi (header.php est quasi tout le temps utilisé dans chaque page, donc on gagne des lignes de code et sa permet de tester a chaque action dans une page par exemple... )
Pas mal, ça me rappel un système que j'avais déjà mis en place à l'époque.
Continue comme ça, t'es bien parti ! ;)
Config.php
$requete = $db->query("SELECT * FROM configuration");
$reponse = $requete->fetch(PDO::FETCH_OBJ);
if($reponse->maintenance == 1){
if(!empty($_SESSION) && $_SESSION'rang'] < 2){
$www = "maintenance.php";
echo('<script>window.location="'.$www.'"</script>');
}
else{
echo('<h1>Le site est en maintenance, seul les administrateurs et modérateurs ont accès au site. <br /></h1>');
}
}
Maintenance.php
<?php
session_start();
date_default_timezone_set("Europe/Paris");
$db = new PDO('mysql:host=localhost;dbname=game','root','');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$db->query("SET NAMES UTF8");
$requete_maintenance = $db->query("SELECT message FROM configuration");
$reponse_maintenance = $requete_maintenance->fetch(PDO::FETCH_OBJ);
require_once("haut.php");
// var_dump($reponse); die();
echo ('<b>'.nl2br(htmlspecialchars($reponse_maintenance->message)).'</b>');
require_once("bas.php");
?>
Moi personnellement j'ai fait une table dans ma db avec une colonne, subito.it j'ai entouré tout mon sites web de deux include et si la colonne dans ma db est sur 1, sa renvoie vers la page maintenance, si il est sur 0 l'utilisateur peut continuer à visité le site.