Aller au contenu

URL de type index.php?page=Ma_page


Seb65

Sujets conseillés

Bonjour,

Je voudrais utiliser le type d'URL suivant [color=red]http://monsite.com/index.php?page=Home http://monsite.com/index.php?page=Forum à la place de

[color=blue]http://monsite.com/Home.php http://monsite.com/Forum/index.php

Comment faut il faire pour utiliser une syntaxe de type index.php?page=Ma_page au lieu de voir le chemin relatif http://monsite.com/Ma_page.php.

Merci par avance.

Lien vers le commentaire
Partager sur d’autres sites

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à !

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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à ;)

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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. ;)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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