Tout votre site en une seule page : index.php?module=trucbidule ...

Soyez le premier à donner votre avis sur cette source.

Snippet vu 18 751 fois - Téléchargée 29 fois

Contenu du snippet

Ce script permet grâce à des includes de mettre tout votre site en une seule page. Comment ? grâce à la fonction include. Cette fonction permet d'inclure le code d'un fichier dans la page l'appelant.

Il vous paraitra peut-être un peu compliqué, mais il est très facile et simplifie grandement les choses.

Source / Exemple :


// votre fichier index.php :

<?php

include "header.php";

// Récupération des variables d'url (méthode GET ou POST)
if (isset($_REQUEST['module']))
  $module = $_REQUEST['module'];
else
  $module = "accueil";
if (isset($_REQUEST['page']))
  $page = $_REQUEST['page'];
else
  $page = "index";

if (file_exists("modules/$module/$page.php") == true) {
  include "modules/$module/$page.php";
} elseif (is_dir("modules/$module/")) {
  include "modules/$module/index.php";
} else {
  include "modules/accueil/index.php";
  $module = "accueil";
}

include "footer.php";
?>

// le fichier header :

<html>
<head>
<title>mon titre</title>
</head>
<html>
Menu :
<a href="index.php?module=lien1">lien1</a>
<a href="index.php?module=lien1&page=page2">lien1>page2</a>

// le fichier footer.php :
<br><br>
Tous droits réservés blablabla
</body>
</html>

// un fichier quelconque de contenu

voilà le contenu de cette page, qui sera inséré entre le fichier header et le fichier footer, inclus à partir de la page index.php?module=marubrique

Conclusion :


le fonctionnement est simple : le site est articulé en rubriques pouvant contenir plusieurs pages.

on appelle la page index.php?module=marubrique&page=mapage si on veut aller à marubrique > mapage
on appelle la page index.php?module=marubrique si on veut aller à marubrique
on appelle index.php pour aller à la rubrique accueil

au niveau des fichiers, tu as un répertoies modules/ dans lequel pour chaque rubrique tu as un fichier de son nom contenant au minimum une page index.php.
lorsque le lien index.php?module=marubrique est appelé, le script inclus (s'il existe) le fichier modules/marubrique/index.php
lorsque le lien index.php?module=marubrique&page=mapage est appelé, le script inclus le fichier (s'il éxiste) modules/marubrique/mapage.php

si le lien index.php est appelé ou si le module demandé n'éxiste pas, c'est le fichier modules/accueil/index.php qui est inclus.

avant et après l'inclusion du fichier du contenu de la page sont inclus les fichiers header.php et footer.php, correspondants aux fichiers de structure du site, le haut de page, avec menu, titre, etc et le bas de page, avec les copyrigths, contact, ...

A voir également

Ajouter un commentaire

Commentaires

cs_Children
Messages postés
84
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
29 avril 2009
-
<?php
include("header");
if (isset($_GET["pg"])){
if (file_exists($_GET["pg"])){
include($_GET["pg"]);
}else{
include("accueil.php");
}
}
include("footer");
?>

utilisation: index.php?pg=mapage
Totofweb
Messages postés
57
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
19 juin 2006
-
Fabrice88> J'ai écrit cette source il y a déjà un certain temps, il pourrait être légèrement amélioré. Je le laisse pour que ça donne juste une idée de méthode que chacun peut réimplémenter et personnaliser en fonction de ses besoins.
Pour ce qui est du référencement google, il t'est possible d'utiliser l'url-rewriting pour faire semblant d'avoir plusieurs pages simples. Tu as donc le beurre et l'argent du beurre : tu gères ton site avec un modèle de page unique, mais les url de ton sites restent simples et google croit voir un fichier par page. Saches toutefois que mapage.php?module=monmodule ne pose pas de problème à google.

Tu peux alors avoir quelquechose du genre :
www.monsite.ext/monmodule/mapage/
www.monsite.ext/monmodule/mapage.html
www.monsite.ext/mapage-id.html
kankrelune
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015
-
non ça change pas grand chose... par contre là ou ça peut jouer c'est si tu as trop de variable passées dans l'url... les googlebot apprécient moyennement mais...

www.monsite.ext/mapage.php?module=monmodule

ça pose pas spécialement de problème... .. .
cs_fabrice88
Messages postés
97
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 août 2015
-
sa vaut quoi niveau referencement ?
vue qu'on a plus qu'une page pour le site on risque pas d'avoir un mauvais referencement ?
kankrelune
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015
-
Ca n'a pas de sens ce que tu dis PYRRAH... il n'y a pas de raison de régler une faille qui est due au développeur... la faille include n'est pas due à php mais à l'utilisation que tu en fais... en développant correctement ton script tu n'aura pas de faille à l'inclusion... .. .

@ tchaOo°

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.