PHP fonction include via URL
Résolu
Mahara
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
Mahara Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Mahara Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis actuellement entrain de développer un site WEB via MAMP, en utilisant PHP, MySQL etc...
Le site se compose d'une page accueil "page1" dans laquelle j'inclus un corps, un menus, l'entete et le pied de page qui se trouve dans d'autre page (via la fonction include) . Le positionnement, couleur, police etc.. se gere dans une CSS séparé.
Pour le corps ca ressemble a ceci;
<div id="corp">
<?php
// J' inclus la page
include("page6.php");
?>
</div>
Mon problème est le suivant , je désire utilisé la possibilité de changer la page inclus dans le corp via un lien qui se trouve dans mon menus mais sans avoir a refaire une page complète dans laquelle je remettrai tout les includes précédant.
Après quelque recherches, je trouve une fonction ;
(merci M@teo21 :) )
<div id="corp">
<?php
$page = $_GET['page'];
include("$page.php");
?>
</div>
Que je place dans ma page d'accueil "page1" , je modifie les liens dans mon menus en conséquence:
par exemple;
<a href="page1.php?page=page2.php">
Lorsque je lance ma page d'accueil "page1" et que je clique dans mon liens, l'URL
http://localhost:80/A%20travailler/page1.php se transforme bien en
http://localhost:80/A%20travailler/page1.php?page=page2.php .
Mais la page ne s'inclue pas! Je suppose que je fait mal un truc ou que j'ai oublié quelque chose , mais je suis un peu peaumé.
Auriez vous une idée? Merci de votre aide!!!
Mahara
Je suis actuellement entrain de développer un site WEB via MAMP, en utilisant PHP, MySQL etc...
Le site se compose d'une page accueil "page1" dans laquelle j'inclus un corps, un menus, l'entete et le pied de page qui se trouve dans d'autre page (via la fonction include) . Le positionnement, couleur, police etc.. se gere dans une CSS séparé.
Pour le corps ca ressemble a ceci;
<div id="corp">
<?php
// J' inclus la page
include("page6.php");
?>
</div>
Mon problème est le suivant , je désire utilisé la possibilité de changer la page inclus dans le corp via un lien qui se trouve dans mon menus mais sans avoir a refaire une page complète dans laquelle je remettrai tout les includes précédant.
Après quelque recherches, je trouve une fonction ;
(merci M@teo21 :) )
<div id="corp">
<?php
$page = $_GET['page'];
include("$page.php");
?>
</div>
Que je place dans ma page d'accueil "page1" , je modifie les liens dans mon menus en conséquence:
par exemple;
<a href="page1.php?page=page2.php">
Lorsque je lance ma page d'accueil "page1" et que je clique dans mon liens, l'URL
http://localhost:80/A%20travailler/page1.php se transforme bien en
http://localhost:80/A%20travailler/page1.php?page=page2.php .
Mais la page ne s'inclue pas! Je suppose que je fait mal un truc ou que j'ai oublié quelque chose , mais je suis un peu peaumé.
Auriez vous une idée? Merci de votre aide!!!
Mahara
A voir également:
- PHP fonction include via URL
- Url - Guide
- Fonction si et - Guide
- Easy php - Télécharger - Divers Web & Internet
- Comment changer url iptv - Forum Créer un site
- Fonction miroir - Guide
5 réponses
pas besoin des " quand il y a une variable
include("$page.php");
ensuite une grosse erreur
$page = $_GET['page'];
include("$page.php");
ta variable c'est $page donc c'est celle la qu'il faut utiliser dans ton include , pas $page.php puisque le $_GET va bien recupérer page2.php par exemple
php devrait te sortir une erreur mais elles ne sont peut être pas activée
vas voir dans le php.ini de MAMP il faut display_error=on
ensuite il faut tester que la variable existe
et utliser la variable passée par l'URL est un énorme trou de sécurité, qq un de mal intentionné peut remplacer par n'importe quoi , alors verifies que ce que tu reçoit est bien des pages autorisées
include("$page.php");
ensuite une grosse erreur
$page = $_GET['page'];
include("$page.php");
ta variable c'est $page donc c'est celle la qu'il faut utiliser dans ton include , pas $page.php puisque le $_GET va bien recupérer page2.php par exemple
php devrait te sortir une erreur mais elles ne sont peut être pas activée
vas voir dans le php.ini de MAMP il faut display_error=on
ensuite il faut tester que la variable existe
et utliser la variable passée par l'URL est un énorme trou de sécurité, qq un de mal intentionné peut remplacer par n'importe quoi , alors verifies que ce que tu reçoit est bien des pages autorisées
<div id="corp"> <?php if(isset($_GET['page'])) { //on teste que la variable est bien passée par l'url //ensuite on verifie que la valeur reçue est bien une page que tu autorises if($_GET['page']=='page2.php' || $_GET['page']=='page3.php' || $_GET['page']=='page4.php' || $_GET['page']=='page6.php'){ $page =htmlentities( $_GET['page']); //evite les codes malicieux }else{ $page =page_accueil.php; //par exemple } }else{ $page =page_accueil.php; //par exemple } include($page); ?> </div>
Bonjour
Si tu mets dans ton url ?page=page2.php
et que ton code fait
include("$page.php");
alors tu essayes d'inclure page2.php.php
tu mets php dans l'url ou dans l'include, mais pas 2 fois...
Si tu mets dans ton url ?page=page2.php
et que ton code fait
include("$page.php");
alors tu essayes d'inclure page2.php.php
tu mets php dans l'url ou dans l'include, mais pas 2 fois...
include("$page.php"); n'est pas une erreur de syntaxe.
C'est la même chose que include ($page.'.php');
Là où il y a un problème, c'est que le nom de fichier est incorrect si $page se termine par .php
C'est la même chose que include ($page.'.php');
Là où il y a un problème, c'est que le nom de fichier est incorrect si $page se termine par .php
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question