TUTO PHP | Système de maintenance

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 492
Points
32 425
Salut :RG:,

Je vous fais un petit tutoriel qui consiste à faire un système de maintenance sur son site internet.
J'utiliserai comme toujours le beau logiciel Sublime Text 3. :oui:

Je vais pas faire un système pour bloquer la maintenance pour un groupe de personnes, là c'est vraiment le site complet pour tout le monde. ;)

Il se peut que ma méthode n'est pas la meilleur et j'en suis bien conscient mais c'est fonctionnel. :ok:

séparateur-par-beery.png


Donc, dans phpMyAdmin, vous allez crée une nouvelle table dans la base de donnée de votre site, si vous avez pas fais de base de donnée faites en une. :)

Appelez la preference et dedans nous allons mettre un id en auto-increment et un index primaire, et en dessous maintenance et vous laissez en int, une fois la table créé faites "insérer" en haut de phpMyAdmin, et mettez rien dans "id" et mettez un 0 dans maintenance, puis exécutez.

Maintenant passons au code, sur la page de votre choix vous allez créer un input de type "number" avec le nom de votre choix, je l'ai appeler "etat", et un input de type submit que j'ai nommé maintenance.​

Code:
<form method="POST">

<input type="text" placeholder="Maintenance : 1 / 0" name="etat"/>
        <input type="submit" value="Modifier" name="maintenance" class="button" />
</form>

séparateur-par-beery.png


Maintenant, le PHP, nous allons en haut de notre page ouvrir les balises PHP, nous allons vérifié si le champ n'est pas vide et si vous avez cliqué sur le bouton de soumission.

Nous allons sécurisé un minimum en faisant un intval ce qui a été rentré dans le champ de texte, même si de base, nous devrons mettre 0 ou 1.​

Code:
if(isset($_POST['maintenance']) AND !empty($_POST['etat']))   {

        $etat = intval($_POST['etat']);
    }

Pensez à lier la base de donnée. ;)
Maintenant nous allons édité ce qui se trouve dans la table.
Nous insérons pas, c'est inutile.
Mettez ce code en dessous de $etat, logique. :facepalm:

Code:
        $updateMaintenance = $bdd->prepare('UPDATE preference SET maintenance = ?');

$updateMaintenance->execute(array($etat));


séparateur-par-beery.png


Voilà, vérifiez si maintenance est égale à 1, si c'est bon vous pouvez continuer.
Maintenant vous allez créer un fichier maintenance.php, vous ferez le design à votre façon après, et un fichier verif.php, dedans nous allons vérifié si la colonne maintenance est égale à 1, pour rediriger les membres vers la page de maintenance.

Sur toutes les pages de votre site (ou juste celle que vous voulez) vous allez inclure le fichier verif.php.​

Code:
include "verif.php";

# en haut de la page, sous la ligne de connexion à la base de donnée

Ensuite dans ce fichier nous allons faire la vérification.

Pensez à lier la base de donnée à ce fichier. ;)

Code:
            $verifMain = $bdd->query('SELECT * FROM preference');

         $mainteOuPas = $verifMain->fetch();

Nous allons prendre tout ce qui se trouve dans la table preference, puis nous faisons un fetch, maintenant nous allons vérifié si la colonne maintenance est égale à 1.​

Code:
            $maintenance = $mainteOuPas['maintenance'];

           if($maintenance == 1)
            {
                header('Location: maintenance.php');
            }
Nous créons une nouvelle variable, qui a comme valeur la colonne maintenance, ensuite nous vérifions tout simplement si cette variable vaut 1, si elle vaut 1, on est redirigé vers la page de maintenance.

Tout simplement. :membre:

Vous pouvez aussi faire ce système avec un bouton, ou une radio, à vous de personnaliser le code à votre guise.

Pour mettre en maintenance si vous avez pas compris il faut mettre 1, si vous voulez stopper la maintenance, mettez 0. :stupefait:

séparateur-par-beery.png


Et voilà :RG: c'est la fin de ce court et simple tutoriel, pensez à mettre un commentaire si vous avez réussi, si vous avez un problème ou une question, n'hésitez pas à me demander en PV. :)

:tchuss:
 
Dernière édition:

Kévin 🚀

Administrateur
Administrateur
Inscription
18 Décembre 2012
Messages
4 822
Réactions
5 531
Points
27 882
Tutoriel bien expliqué, utile pour ceux qui souhaite bloquer l'accès a une parti de leur site sans passer par un .htaccess :)
 
D

deleted535977

Il y a plus simple si ses forum xenforo tu fait maitenance en css / couleur details mes la php si je vois aucune image je peut pas te dire
 

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 492
Points
32 425
Il y a plus simple si ses forum xenforo tu fait maitenance en css / couleur details mes la php si je vois aucune image je peut pas te dire

Le XenForo est cher, je montre comment faire un système juste en PHP, y'aura toujours plus simple
 
Haut