Aller au contenu

[Tuto-Script] {PHP} Pseudos-Frames


Fab23

Messages recommandés

Salut! Après toutes les personnes qui posent des questions sur les pseudos-frames en PHP,

et moi en premier quand j'ai commencé le PHP.

J'ai créé ce script, il permet même de classer ces pages dans un dossier ou un sous dossier:

- Le paramètre "page" définit le nom de la page(mais sans l'extension .php), par exemple pour la page "contact.php" on mettera "index.php?page=contact".

- Le paramètre "cat" définit le dossier où se trouve la page, par exemple la page "profil.php" se trouve dans le dossier "membre" l'url sera "index.php?cat=membre&page=profil"

- Le paramètre "id_cat" définit le sous-dossier où se trouve la page, par exemple la page "page1.php" se trouve dans le sous-dossier "pseudosframes", qui se trouve dans le dossier "tutos", l'url sera "index.php?cat=membre&id_cat=pseudosframes&page=profil";

Explications du code:

// Si il n'y a pas de paramètres dans l'url, il inclut l'a page par défaut (comme ici l'accueil).

if (!isset($_GET["cat"]) AND !isset($_GET["id_cat"]) AND !isset($_GET["page"]))

{

include ("accueil.php");

}

// Sinon si il n'y a pas de paramètres dans "cat" et "id_cat" on affiche "page".

elseif (!isset($_GET["cat"]) AND !isset($_GET["id_cat"]))

{

$page=$_GET["page"];

include("$page".".php");

}

// Sinon si il n'y a pas de paramètre "id_cat" on affiche la page ("page") qui se trouve dans le dossier ("cat")

elseif (!isset($_GET["id_cat"]))

{

$categorie=$_GET["cat"];

$page=$_GET["page"];

include($categorie."/".$page.".php");

}

// Sinon on affiche la page ("page") qui se trouve dans le sous-dossier ("id_cat"), qui lui-même se trouve dans le dossier ("cat").

else

{

$categorie=$_GET["cat"];

$id_cat=$_GET["id_cat"];

$page=$_GET["page"];

include("$categorie/$id_cat/$page.php");

}

Voici le code complet sans commentaires:

			if (!isset($_GET["cat"]) AND !isset($_GET["id"]) AND !isset($_GET["page"]))
			{
				include ("accueil.php");
			}
			elseif (!isset($_GET["cat"]) AND !isset($_GET["id"]))
			{
				$page=$_GET["page"];
				include("$page".".php");
			}
			elseif (!isset($_GET["id"]))
			{
				$categorie=$_GET["cat"];
				$page=$_GET["page"];
				include($categorie."/".$page.".php");
			}
			else
			{
				$categorie=$_GET["cat"];
				$id=$_GET["id"];
				$page=$_GET["page"];
				include("$categorie/$id/$page.php");
			}

Voilà voilà ! J'èspère que vous aurez compris!

PS: Si il y a des failles de sécurités avec mon script veuillez me le dire :transpi: merci!

Lien vers le commentaire
Partager sur d’autres sites

switch($page){
case "news":
include(news.php);
break;
.
.
.
.
.
default:
include(accueil.php);
}

avec cette methode aucun risque a ce qu'un malin inclus un fichier non voulu que ceux désignés.

ca parait peu etre lourd mais ca le mérite d'être sure.

c'est la méthode que j'utilise, enfin presque

je fontionne avec 3 type de fichier selon les droit view,edit et admin (chaque fichier vérifiant les droits des le début du script) ensuite dans chaque fichier j'ai encore un switch pour les diférentes informations à traiter.

résultat:

un fichier correspond à un des droits view,edit et admin c'est tres facile de s'y retrouver.

ca donne ca comme url: http://www.incredibeul.com/portail.php?mod=4&f=1

Lien vers le commentaire
Partager sur d’autres sites

Merci mais c'est vraiment relou... je vais essayé avec des expressions régulières... car à chaque fois tout retapper... de plus ça prend pas mal de place (en ko) si il y a par exemple 100 pages sur le site.

ben le principe du php c'est de pas avoir 100 fichiers mais bien quelques fichiers moteurs et tout le contenu dans une base de données, non?

et pour info la totalité de mes fichiers pour mon portail doit pas excéder les 200Ko et je peux faire 1 ou 1000 pages ca changera pas la taille juste la BDD qui se remplie. mais bon faut dire que ca fait 5ans que j'use du PHP et que le noyau de mon portail intégré à phpBB a eu plusieurs versions et quelques mois de programmation avant d'aboutir sur la solution actuelle.

en gros fait une version de ton site déjà même si c'est pas correctement programmé, le but c'est bien de progresser.

avoir un résultat final et exploitable non obtimisé motive plus qu'un truc non achevé qui traine dans le temps.

tiens ca me dis que je devrai faire un post sur mon principe de structure de mon portail, car sans me vanter l'architecture est plutot bien ficelée et surtout simple comme bonjour pour l'ajout de module ect...

Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...