Menu

PHP/MySQL / Partie 2 : Les tutoriels

< Créer un contenu variable />
// Ecrit le 25/01/2009 à 00:53:44 par Arthezius

Créer une magnifique mise en page en html et css est une chose mais il est également possible de l'optimiser avec php.
Jusqu'a présent, pour réaliser plusieurs pages web, vous deviez probablement dupliquer vos pages et modifier seulement le contenu. En fait on réutilise x fois le même script sur toute les pages.
PHP nous permet d'optimiser ces pages en incluant sur une page la partie variable de celle-ci.
Comme rien ne vaut un petit dessin pour illustrer ces explications :

dessins/contenu_variable.jpg



<!-- Le script -->
Voici le script que nous allons utiliser:

<
<?php

// On définit le tableau contenant les pages autorisées
// ----------------------------------------------------
$pageOK = array('news' => 'news.php',
'accueil' => 'accueil.php');

// On teste que le paramètre d'url existe et qu'il est bien autorisé
// -----------------------------------------------------------------
if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
include($pageOK[$_GET['page']]); // Nous appelons le contenu central de la page
} else {
include('accueil.php'); // Page par défaut quant elle n'existe pas dans le tableau
}

?>
>


Ce script proviens du site PHP Debutant

Il ne restera plus qu'à créer les différentes pages qui seront incluent et à les lister dans le script ci-dessus pour l'autoriser à les afficher.

<!-- Les liens -->
Les pages seront "appelées" par le script via une variable contenu dans l'url.
Exemple:
Pour la page d'accueil, en reprenant simplement le script ci-dessus, l'url sera la suivante:

<
<a href="index.php?page=accueil">Accueil</a>
>


La page est ensuite récupéré par un

<
$_GET['page']
>


Elle est contrôlé avec un array contenant la liste des pages autorisé.

<
if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) { }
>


Si la page est bien autorisé elle est affiché par:

<
include($pageOK[$_GET['page']]);
>



Exemple:
Pour cet exemple concrêt, nous allons réutilisé le script vue sur un autre tutoriel.
Dans ce tutoriel nous avions vu comment réaliser une page en deux colonnes. Nous allons maintenant faire varier le contenu.
Voici le script de départ:

<
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Page de test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="test.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="container">
<div id="entete"></div>
<div id="menu"><a href="#">Lien</a></div>
<div id="contenu">Contenu de la page</div>
<div id="pied"></div>
</div>
</body>
</html>
>


La partie variable est

<
<div id="contenu">Contenu de la page</div>
>


Nous allons donc modifier le script.
Page index.php :

<
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Page de test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="test.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="container">
<div id="entete"></div>
<div id="menu">
<p><a href="index.php?page=accueil">Accueil</a></p>
<p><a href="index.php?page=news">News</a></p>
</div>
<div id="contenu">
<?php

// On définit le tableau contenant les pages autorisées
// ----------------------------------------------------
$pageOK = array('news' => 'news.php',
'accueil' => 'accueil.php');

// On teste que le paramètre d'url existe et qu'il est bien autorisé
// -----------------------------------------------------------------
if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
include($pageOK[$_GET['page']]); // Nous appelons le contenu central de la page
} else {
include('accueil.php'); // Page par défaut quant elle n'existe pas dans le tableau
}

?>
</div>
<div id="pied"></div>
</div>
</body>
</html>
>



Réalisons maintenant les deux pages:
Page accueil.php :

<
<h1>Accueil</h1>
<p>Contenu de l'accueil</p>
>


Page news.php

<
<h1>News</h1>
<p>Contenu des news</p>
>


Ces deux pages n'auront pas besoin de contenir d'avantage de script vue qu'elles seront incluse dans la page index.

Le script restitué au navigateur sera le suivant pour la page d'accueil:

<
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Page de test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="test.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="container">
<div id="entete"></div>
<div id="menu">
<p><a href="index.php?page=accueil">Accueil</a></p>
<p><a href="index.php?page=news">News</a></p>
</div>
<div id="contenu">
<h1>Accueil</h1>
<p>Contenu de l'accueil</p>
</div>
<div id="pied"></div>
</div>
</body>
</html>
>



Voir l'exemple: cliquer ici
Télécharger le script:

Bookmark and Share

Retour / PHP/MySQL - Haut de page

Arthezius © 2008-2010 - Page valide XHTML 1.0 Transitional