Sylvanus666
Messages postés6Date d'inscriptionjeudi 11 février 2010StatutMembreDernière intervention14 avril 2010
-
12 avril 2010 à 20:30
roymatthieu
Messages postés112Date d'inscriptionjeudi 31 août 2006StatutMembreDernière intervention 3 février 2011
-
14 avril 2010 à 22:04
Bonjours a toute et a tous.
Je viens vous exposer un soucie que je rencontre et j'espère que vous pourrez me donner quelque conseil voir même une solution
En effet j'ai créer un site ( je ne sais pas si j'ai le droit de donner le lien), cependant je construit énormément de pages différentes par obligation.
J'en viens donc a mon soucie, je souhaite intégrer un menue unique a toute ses pages et changeable extérieurement. En gros ca pourrait m'éviter de retourner sur toute mes pages a chaque fois que je veux modifier un lien dans le menu ce qui est extrêmement long.
Y a t-il un moyen quelconque de faire ceci ? grâce a un fichier php peut être ?
Merci de vos réponses les plus brèves, mon projet étant en constante évolution et mon besoin d'organisation de plus en plus grand.
Sylvanus666
Messages postés6Date d'inscriptionjeudi 11 février 2010StatutMembreDernière intervention14 avril 2010 13 avril 2010 à 11:56
Merci pour cette réponse qui convient parfaitement a mon cas de figure :)
Cependant il me reste un autre soucie, a présent que j'ai creer mon fichier php, ca fonctionne, cependant a chaque répertoire ou se situe mes pages je dois le recréer
En effet quand je donne le chemin a suivre dans mes pages, il part du dossier ou se trouve cette meme page comme racine.
Pour : <?php include('menu/menu.php'); ?>
il va chercher dans le dossier menu mais si je ne suis pas dans le même répertoire il cherche un dossier menu dans celui ci au lieu de prendre celui qui se trouve a la racine
Je veut dire par la qu'il ne va pas a la racine propre du site ce qui m'oblige a modifier tout mes menu.php si je veut modifier l'ensemble des menu, c'est moins contraignant que toute les pages mais cela reste néanmoins un inconvénient
Sylvanus666
Messages postés6Date d'inscriptionjeudi 11 février 2010StatutMembreDernière intervention14 avril 2010 14 avril 2010 à 15:38
J'obtient ceci en guise de message d'erreur
Warning: include() [function.include]: open_basedir restriction in effect. File(/usr/local/apache/htdocs/menu/menu.php) is not within the allowed path(s): (/home/:/usr/lib/php:/tmp) in /home/a1189125/public_html/Test.php on line 16
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 14 avril 2010 à 17:54
Salut,
(je ne sais pas si j'ai le droit de donner le lien)
Sisi, tu peux
Je pense qu'il y a un problème de logique dans la solution retenue.
Pourquoi ne pas faire une page index.php qui appellerait les pages demandées.
Un truc du style :
index.php
<html>
<head>
patatipatata
</head>
<?php
include 'menu.php';
include $_GET['pageDemandee'].'.php';
include 'pied_de_page.php';
?>
</html>
Tu construis ensuite tes autres pages en ne mettant que le contenu (cad pas de balises <html>, , etc ... qui sont déjà présentes dans index.php) Pas besoin ici de mettre d'include puisque c'est index.php qui s'en chargera.
Tu construis ensuite tes liens de cette manière :
[index.php?pageDemandee= trucmuche trucMuche]
Ca te permettrait un découpage efficace très simple à mettre en place.
Bien sur il ne s'agit là que d'une trame pour présenter l'idée, il te faudra peaufiner :
- test de l'existence de la page demandée et retour à l'accueil si inexistante
- urlencode / urldecode sur la valeur de pageDemandee passée dans l'url
- url rewriting pour faire "plus beau mieux" auprès des utilisateurs et des moteurs de recherche.
ATTENTION :
Ce type de structure est très pratique mais peut occasionner des problèmes de sécurité, par le fait que tu laisses la possibilité à l'utilisateur d'appeler la page qu'il souhaite (en modifiant simplement l'URL, par ex : http://tonsite/index.php?pageDemandee =administrationDuSite)
C'est par ailleurs très simple à sécuriser, par exemple en définissant les pages auxquelles l'utilisateur peut avoir accès :
index.php
<html>
[...]
<?php
// pages autorisées
$pagesAutorisees = array(
'trucmuche',
'page1',
'page2',
'page10'
);
if (!in_array($_GET['pageDemandee'], $pagesAutorisees)) include 'accueil.php'; else include $_GET['pageDemandee'];
?>
[...]
</html>
Ainsi, si le serveur reçoit une valeur de "admin" il redirigera sur l'accueil et affichera la page page2.php s'il reçoit page2