Jump to content

[Tuto-Script] {PHP} Pseudos-Frames


Recommended Posts

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!

Link to comment
Share on other 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

Link to comment
Share on other 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.

Link to comment
Share on other 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...

Link to comment
Share on other sites

  • 3 months later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...