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é (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'autres termes, chaque PHP de chaque Page ne contient que son propre contenu, le reste étant inclus.
Cours 0004 logique d'une page PHP et index-param
Revenons au début de nos pages...
<?php
session_start();
$nimportequoi="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-astuces.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;
$titrereseaux="Page exemple analysée dans les Cours";
$decrireseaux="Sur notre site les-astuces-du-web de Fox-Infographie";
$imagereseaux="les-astuces-du-web.jpg";
$urlreseaux=$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
cookies 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 incorrect. 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 "$nimportequoi='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 inclus plusieurs morceaux de PHP, Le PHP réel de notre page
modéle, est identique à un seul PHP contenant TOUS les PHP ainsi inclus, ce qui veut 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
pourront contrôler que "$nimportequoi" existe bien. Voilà donc la sécurité que nous apporte cette variable "$nimportequoi" car en tout premier dans toutes les pages
destinées à être incluses nous écrivons :
<?php
if (!isset($nimportequoi))
{
header('Location:https://fox-infographie.com/index-astuces.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 s'agit d'un fichier où 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, à cet instant précis, toute la page aura pour valeur par exemple pour
"$Leretour='index-astuces.php';" parce que, 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 clique 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 en ajoutant "$Leretour='mon-menu.php';" ce sera la valeur pour cette page.
De la même façon le titre de cette page sera personnalisé, 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
personnaliser chaque page que nous traitons.
Voici la totalité de ce fichier "index-param.php" nous en verrons le détail au fur et à mesure que les valeurs générales de ce fichier seront utilisées dans la
page PHP que nous analysons actuellement.
<?php
if (!isset($nimportequoi))
{
header('Location:https://fox-infographie.com/index.php');
exit;
}
$pourvoir="VOTRE-MOT-DE-PASSE-ADMIN"; /* pour les outils administration */
$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="fox-infographie.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://fox-infographie.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 */
$titrereseaux="les astuces du Web les-astuces-du-web";
$decrireseaux="Sur notre site les-astuces-du-web";
$imagereseaux="les-astuces-du-web.jpg";
$urlreseaux="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="01hqhsrarztyyyf1mqslkdkm287481172871329376pu8e";
$recher2="<input type='hidden' name='cof' value='FORID:11' />";
?>