Dans le Cours précédent, nous avons montré le code des premières lignes de toutes les pages de notre site.
Alors ayez une vision claire de ce qui se passe dans le PHP d'une page quelconque d'un site:
Le PHP d' une page web d'un site génére un HTML unique, décrivant la feuille de style, les images etc... Ce HTML est fabriquée (nous l'avons déjà vu), par la page PHP
du serveur qui lui correspond. Il n'existe qu'un PHP par page du site, mais ce PHP est fait de plusieurs morceaux de code PHP,
éléments communs à toutes les pages, ces éléments communs sont inclus dans les PHP de chaque page.
En fait, seul le contenu de la page est unique, tout le reste est commun et détermine le style général du site web.
En d'autre terme, chaque PHP de chaque Page ne contient que son propre contenu, le reste étant inclu.
Revenons au début de nos pages...
<?php
session_start();
$moijipi="jipi";
require("index-param.php");
$erreur= (isset($_SESSION['erreur'])) ? $_SESSION['erreur'] : '';
require('zzz/32bdd.php');
$Drapeau="fr";
header('Content-Type: text/html; charset=utf-8');
$Leretour="index.php";
$LeTitle="Faites votre site WEB vous même Page analysée dans les Cours de Christéle Rubneau (site officiel)";
$Meta1="Contacter joindre , ".$Meta1;
$Meta2="Contactez ".$Meta2;
$lapage="0-web_topo-php-1000.php";
$bandeau_du_haut="O";
$bandeau_du_haut="logos/astuce-bandeau.jpg";
$menuactif=1;
$titrefacebook="Page exemple analysée dans les Cours";
$decrifacebook="Sur notre site les-astuces-du-web de Fox-Infographie";
$imagefacebook="les-astuces-du-web.jpg";
$urlfacebook=$lapage;
(rappel)
Le PHP que nous allons analyser, est donc celui d'une page type. Dés la première ligne, nous ouvrons la session du visiteur. Voilà qui mérite de s'y arrêter,
car si le visiteur vient d'arriver sur le site, ses sessions sont vides, le serveur ne conservant jamais les données de sessions, contrairement aux données de
coockies de nos ordinateurs
Mais si le visiteur arrive sur cette page depuis une autre page du site, même s'il n'est pas connecté, nous avons
probablement des données de session le concernant, par exemple "$_SESSION['erreur']" peut contenir une erreur s'il vient de la page de login et que son
login était incorrecte. Les sessions étant actives, nous allons savoir si ce visiteur est connu et connecté. etc ..
La ligne suivante sert à protéger notre page contre les hackers avec "$moijipi='jipi';" , en effet comme nous l'avons vu, nous allons inclure plein de PHP,
Ceux qui sont communs à toutes les pages, par l'instruction require
Notez bien ceci : lorsque votre HTML d'une page arrive sur votre navigateur, nous y avons donc inclu plusieurs morceaux de PHP, Le PHP réel de notre page modéle,
est identique à un seul PHP contenant TOUT les PHP ainsi inclus, ce qui veux dire que si dans le PHP de bas de page nous regardons une variable définie dés
les premières lignes de l'ensemble , nous pouvons l'exploiter ! Donc concernant par exemple la sécurisation de la page, tous les PHP qui seront inclus pourrons
contrôler que "$moijipi" existe bien. Voilà donc la sécurité que nous apporte cette variable "$moijipi" car en tout premier dans toutes les pages destinées
à être incluse nous écrivons : .
<?php
if (!isset($moijipi))
{
header('Location:https://les-astuces-du-web.com/index.php');
exit;
}
....
Ce qui renvoie immédiatement tout accès illicite, grâce à ce morceau de PHP, à l'index du site.
Nous arrivons à "require('index-param.php');" ce PHP est la base du site web, il sagit d'un fichier ou se trouvent toutes les valeurs concernant en
général les données de notre site web, ainsi inutile de retaper dans toutes les pages les mêmes choses. C'est l'occasion d'aller encore plus loin dans la
compréhension de la manipulation des variables et de leur contenu, un seul exemple suffira, a cet instant précis, toute la page aura pour valeur par
exemple pour "$Leretour='index.php';" parceque, c'est le contenu de "index-param.php" que je viens d'inclure. Oui, mais si pour la page, que je réalise,
il faut que le visiteur qui clic le bouton "HOME" revienne au menu des Cours alors il me suffit (aprés l'include de ce PHP ) de changer la valeur
actuellement 'index-param.php' donc enajoutant "$Leretour='mon-menu.php';" ce sera la valeur pour cette page.
De la même façon le titre de cette page sera personnalisée etc..
Toutes les lignes du début de nos pages qui suivent le "require('index-param.php');" sont donc des modifications de ce fichier de paramêtres généraux,
afin de personnalier chaque page que nous traitons .
Voici la totalitée de ce fichier "index-param.php" nous en verrons le détail au fur et à mesure que les valeurs générales de se fichier seront
utilisées dans la page PHP que nous analisons actuellement.
<?php
if (!isset($moijipi))
{
header('Location:https://les-astuces-du-web.com/index.php');
exit;
}
$pourvoir="VOTRE-MOT-DE-PASSE-ADMIN"; /* pour les outils administration */
$localoui="O"; /* nous testons en local pour la version sur le serveur on metra N */
$Drapeau="fr"; /* pour les sites multilingue */
$mysqlprefix="cr_"; /* prefixe des noms des tables Mysql */
/* _____________pour envoi mail_______________________ */
$mailPour = "Christele Rubneau <VOTRE MAIL@machin.com>";
$mailDe = "From: site de Christele Rubneau <VOTRE MAIL@machin.com>";
$Le_Objet = "Message du Site les-astuces-du-web de Christéle Rubneau pour validation\n\n\n";
$site="les-astuces-du-web.com";
$LeMailX="VOTRE MAIL@machin.com";
/* __________________titres et meta generaux______________________________*/
$LeTitle=" site de Christéle Rubneau programmeuse webmaster ";
$Meta1=" Les cours PHP de Christéle Rubneau, programmeuse, webmaster, infographiste";
$Meta2=" Christéle Rubneau Webmaster Programmation";
$AdrWeb="https://les-astuces-du-web.com";
$AdminNom="Christéle Rubneau ";
$AdminAvat="Christele.jpg";
$menuactif=0; /* pour colorier le bouton du menu actif */
$Limage_de_droite="logos/img-droite-005.png";
$Leretour="index.php";
$anti_bandeau_du_bas=0; /* === 99=pas de bandeau du bas ========= */
$anti_scroll="O"; /* == bouton pour remonter en haut du scroll = */
$anti_menu=0; /* === 99= pas de menu juste le bouton retour ========= */
/* ___si le site est en general sans bandeau ="N" si non ="url du bandeau"
______si une page ne doit pas en avoir dans son php ajouter $bandeau_du_haut="N"; avant les requires
______si une page doit avoir un autre bandeau dans son php ajouter par exemple $bandeau_du_haut="logos/paris_trocadero_tour_eiffel.jpg"; avant les requires
*/
$bandeau_du_haut="N"; /* recomande 1600*150 */
$titrefacebook="les astuces du Web les-astuces-du-web";
$decrifacebook="Sur notre site les-astuces-du-web";
$imagefacebook="les-astuces-du-web.jpg";
$urlfacebook="index.php";
$Cie=$_SERVER["REMOTE_ADDR"]; // L'IP du visiteur
$Cie=$_SERVER["HTTP_USER_AGENT"]; // L'identifiant du navigateur
if (strpos($Cie, "MSIE") != FALSE ) $Cie="O";
/* _____Recherche Google________________________ */
$recher1="01hqhsrarztyyyf1287481172871329376pu8e";
$recher2="<input type='hidden' name='cof' value='FORID:11' />";
?>