Aller au contenu

URL de type index.php?page=Ma_page


Sujets conseillés

Posté

Il faut créer une page (index.php ou autre.php) qui incluera le code :

<?php

include($_GET['page'].'.php');

?>

l'url sera de la forme : index.php?page=test

Il faut donc une page en PHP qui s'imbrique appelée test.php Cette page ne contiendra que le contenu à afficher (mainframe)... On peut remplacer "page" par autre chose en le déclarant avant ($_GET['module']) --> pour un index.php?module=test ... Voilà !

Posté (modifié)

Bonjour,

Ok merci bien je vais essayer :)

Donc si j'ai bien compris je dois créer une page "url.php" que je dois inclure dans toutes mes pages php avec le code ce qui me permet de récup la fonction index.php?page=nom_de_la_page.php :

<?php

include($_GET['page'].'.php');

?>

Et ensuite au niveau de mes liens ? Je dois faire comment pour utiliser http://monsite.com/index.php?page=Home au lieu de http://monsite.com/Home.php pour ma page Home.php ?

Si je comprend bien je dois mettre cela dans mon lien pour la page Home :

index.php?page=Home.php

Merci

Modifié par Seb65
Posté

Attention aux problèmes de sécurité liés à ce genre de pratiques.

Fais une recherche sur "faille sécurité include PHP".

Posté

Tu ne quittes pas la page 'index.php', tu te contentes d'y afficher le contenu de l'autre page, comme une frame.

Mais si l'autre page est vide, alors tu n'auras l'impression d'afficher uniquement la première page.

Tu peux nous mettre le code ? Histoire de voir s'il n'y a pas d'erreurs :D

Pour éviter les problèmes de sécurité, tu créées un tableau de tous les fichiers :

$all_files = array("");

que tu remplis des noms de fichiers que tu vas utiliser, comme nom de page :

$all_files = array("Home","Forum","Contact");

Ainsi, tu testes si le fichier est... déclaré, avant de faire l'include :

if (in_array($file,$all_files))

include(file.".php");

else

include("404.php");

Voilà ;)

Posté

Merci pour ta réponse.

Non en fait je viens de saisir comment il fonctionne :nono:

Je travaille par du "jeu de cadre" en fait un tableau a gauche pour le menu (include menu) tableu en haut et en bas pour le header et footer, au centre le tableau avec tout le contenu du site...

Or je me suis aperçu qu'il charge le contenu la ou on place le script. Normal car c'est un include :D

Je voulais en fait qu'il me charge le jeu de cadre en entier et non pas me charger la page que je demande...

Toutes mes pages sont identiques sauf le tableau du centre qui change suivant le menu...

Est-il possible de faire ce que je recherche ?

Merci

Posté

Tu utilises des frames ?

Si c'est le cas, oublie ce type d'architecture.

Poste nous le code, ce serait plus simple pour nous.

xpatval

Posté

Bonjour,

A mon sens, cela ne sers à rien d'utiliser et les Frames et les Pseudos-frames.

Soit l'un, soit l'autre mais pas les deux....

Portekoi

Posté

A priori, ce qu'il appelle des frames ne sont que des include.

Dans ce cas, c'est possible, mais tu aurais plus vite fait de te tourner vers un gestionnaire de templates, ca te faciliterait la vie, notamment pour la suite. ;)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...