echo
pour afficher le contenuhello.php
<?php
$titre = "Une page PHP simple";
$info = "Bonjour le monde !";
include("squelette.php");
?>
squelette.php
<!DOCTYPE html>
<html lang="fr">
<head>
<title><?php echo $titre; ?></title>
</head>
<body>
<h1><?php echo $titre; ?></h1>
<p>L'information à délivrer est simple :</p>
<div>
<?php echo $info; ?>
</div>
<p>Voilà.</p>
</body>
</html>
hello.php
<?php
if (key_exists('toto', $_GET)) {
$titre = "Une page sur toto";
$info = "toto est une variable " .
"métasyntaxique utilisée " .
"dans les exemples de programmes.";
} else {
$titre = "Une page PHP simple";
$info = "Bonjour le monde !";
}
$menu =
'<a href="hello.php">Accueil</a> |' .
' <a href="hello.php?toto">toto</a>';
include("squelette.php");
?>
squelette.php
<!DOCTYPE html>
<html lang="fr">
<head>
<title><?php echo $titre; ?></title>
</head>
<body>
<nav>Navigation : <?php echo $menu; ?></nav>
<h1><?php echo $titre; ?></h1>
<p>L'information à délivrer est simple :</p>
<div>
<?php echo $info; ?>
</div>
<p>Voilà.</p>
</body>
</html>
hello.php
<?php
if (key_exists('toto', $_GET)) {
$titre = "Une page sur toto";
$info = "toto est une variable " .
"métasyntaxique utilisée " .
"dans les exemples de programmes.";
} else {
$titre = "Une page PHP simple";
$info = "Bonjour le monde !";
}
$menu = array(
"Accueil" => "hello.php",
"toto" => "hello.php?toto",
);
include("squelette.php");
?>
squelette.php
<!DOCTYPE html>
<html lang="fr">
<head>
<title><?php echo $titre; ?></title>
</head>
<body>
<nav>Navigation : <ul>
<?php
foreach ($menu as $texte => $lien) {
echo "<li>";
echo "<a href=\"$lien\">$texte</a>";
echo "</li>\n";
} ?>
</ul></nav>
<h1><?php echo $titre; ?></h1>
<p>L'information à délivrer est simple :</p>
<div>
<?php echo $info; ?>
</div>
<p>Voilà.</p>
</body>
</html>
$_GET
if (isset($_GET['codeAction']) { $codeAction = $_GET['codeAction']; } else { $codeAction = "home"; }
$codeAction
ob_start(); require_once($squelette); $html = ob_get_contents(); ob_end_clean();
require_once
envoie directement ce qu'il inclut, il
faut donc capter ce contenuecho $html;
index.php
<?php
// 1) Inclure donnees.php - pour les fonctions et les données
/*
Ce fichier contiendra toutes les fonctions de validation, de gestion du calendrier, ainsi que les variables utilisées pour la logique du programme.
*/
include('donnees.php');
// 2) index.php - Fichier principal avec la logique d'affichage
/*
Ce fichier contiendra la logique principale pour gérer les actions (affichage du calendrier, soumission du formulaire, etc.).
*/
$nom = null;
$prenom = null;
$dateN = null;
$lieuN = null;
$telephone = null;
$adresse = null;
$erreur = ["nom" => null, "prenom" => null, "dateN" => null, "lieuN" => null, "telephone" => null, "adresse" => null];
// Récupérer l'action via GET
$action = key_exists('action', $_GET) ? trim($_GET['action']) : null;
switch ($action) {
case "calendrier": // Afficher le calendrier vide
$zonePrincipale = Calendrier(date('Y'), date('m'));
break;
case "saisir": // Saisie via le formulaire
if (!isset($_POST["nom"]) && !isset($_POST["prenom"])) {
include("formulairePersonne.html");
$zonePrincipale = $corps;
} else {
$nom = key_exists('nom', $_POST) ? trim($_POST['nom']) : null;
$prenom = key_exists('prenom', $_POST) ? trim($_POST['prenom']) : null;
if ($nom == "") $erreur["nom"] = "Il manque un nom";
if ($prenom == "") $erreur["prenom"] = "Il manque un prénom";
$compteur_erreur = count($erreur);
foreach ($erreur as $cle => $valeur) {
if ($valeur == null) $compteur_erreur = $compteur_erreur - 1;
}
if ($compteur_erreur == 0) {
$nom_encode = htmlspecialchars($nom);
$prenom_encode = htmlspecialchars($prenom);
$corps = $nom_encode . " " . $prenom_encode . "<br>";
$zonePrincipale = $corps;
} else {
include("formulairePersonne.html");
$zonePrincipale = $corps;
}
}
break;
default:
$zonePrincipale = "";
break;
}
//3) squelette.php - Fichier du squelette HTML
/* Ce fichier contiendra la structure HTML de base, les liens vers les styles CSS, ainsi que l'emplacement où le contenu sera affiché. */
include('squelette.php');
// include('squelette.php');
// ou
// ob_start(); include('squelette.php'); $html = ob_get_contents(); ob_end_clean(); echo $html;
/*
// Utiliser ob_start pour capturer la sortie du squelette
ob_start();
include('squelette.php');
$html = ob_get_contents();
ob_end_clean();
// Afficher ou manipuler le contenu capturé
echo $html;
*/
?>
squelette.php
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Agenda</title>
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
</head>
<body>
<h1>Agenda</h1>
<hr>
<div class="Ycontainer">
<div class="Ymain">
<?php echo $zonePrincipale; ?>
</div>
<div class="Ysidebar">
<p>
<a href="index.php?action=saisir">Saisie d'une personne</a><br>
<a href="index.php?action=calendrier">Calendrier vide</a><br>
</p>
</div>
</div>
<hr>
</body>
</html>
|---contenu | |---fichier1.frg.html | `---fichier2.frg.html |---images | |---image1.jpg | `---image2.jpg |--config | `---config.php |--squelettes | |---fichier.squel.php | `---`ragments | `---entete.frg.php |---style | |---screen.css | |---print.css | `---images | |---logo.png | `---icone1.png `---index.php
.htaccess