Problème liens Menus depuis une autre page que l'index
Fermé
illios
-
30 déc. 2013 à 01:49
theshadoo Messages postés 786 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 3 mai 2016 - 30 déc. 2013 à 20:34
theshadoo Messages postés 786 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 3 mai 2016 - 30 déc. 2013 à 20:34
A voir également:
- Problème liens Menus depuis une autre page que l'index
- Supprimer une page word - Guide
- Traduire une page - Guide
- Créer une page facebook - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Word numéro de page 1/2 - Guide
4 réponses
theshadoo
Messages postés
786
Date d'inscription
samedi 26 mai 2007
Statut
Membre
Dernière intervention
3 mai 2016
123
30 déc. 2013 à 02:28
30 déc. 2013 à 02:28
Je ne sais pas comment tu as fait tes liens et sans voir réellement c'est un peu difficile (par pitié ne nous balance pas un pavé de code four tout et démerdez vous avec les années c'est peu soutenable sincèrement).
As-tu mis des liens en relatif ?? (connaître la différence entre relatif et absolue c'est la base).
Si les liens de ton menu font référence à des pages .php (ou html & autre) tu part de la racine de ton site donc "nom de domaine" théoriquement.
mes liens de menu exemple :
- home = home.php
- about = about.php
- portefolio = portfolio.php
- contact = contact.php
Pas de "/" avant le lien de la page si non tu remontes d'un cran, ce qui fait que le serveur ne va pas chercher au bon endroit c'est sûr.
Si tu utilises ta pages index comme front-page (ce qui serait le plus logique) alors tout va partir de la page index.php et donc.
- home = index.php?page=home
- about = index.php?page=about
- portefolio = index.php?page=portefolio
- contact = index.php?page=contact
Du coup il te faudra créer une fonction par exemple qui sera le gestionnaire de menu où page est la variable envoyé en get et sa valeur correspondra au nom d'une page physique existante ou bien du nom de la page et son contenu qui serait stocké en base de donnée.
Si c'est le nom d'une page physique alors tu auras juste le contenu et non tout le code html d'une page avec le head, body etc..
Et par conséquent tu "include" la page en rapport.
Sur un petit site par exemple.
avec switch ou if :
switch($page) {
case : "home"
include 'home.php';
break;
etc...
}
Et ne surtout pas oublier de sécuriser cela, c'est à dire vérifier aussi que la fichier existe et correspond au schéma que tu auras établie en quel cas n'importe qui pourrait passer un nom de fichier après ta variable index.php?page=lenomd'unfichier et hope j'ai tout le code donc grosse faille de sécurité.
Voilà tu as tout pour pouvoir régler ton problème.
As-tu mis des liens en relatif ?? (connaître la différence entre relatif et absolue c'est la base).
Si les liens de ton menu font référence à des pages .php (ou html & autre) tu part de la racine de ton site donc "nom de domaine" théoriquement.
mes liens de menu exemple :
- home = home.php
- about = about.php
- portefolio = portfolio.php
- contact = contact.php
Pas de "/" avant le lien de la page si non tu remontes d'un cran, ce qui fait que le serveur ne va pas chercher au bon endroit c'est sûr.
Si tu utilises ta pages index comme front-page (ce qui serait le plus logique) alors tout va partir de la page index.php et donc.
- home = index.php?page=home
- about = index.php?page=about
- portefolio = index.php?page=portefolio
- contact = index.php?page=contact
Du coup il te faudra créer une fonction par exemple qui sera le gestionnaire de menu où page est la variable envoyé en get et sa valeur correspondra au nom d'une page physique existante ou bien du nom de la page et son contenu qui serait stocké en base de donnée.
Si c'est le nom d'une page physique alors tu auras juste le contenu et non tout le code html d'une page avec le head, body etc..
Et par conséquent tu "include" la page en rapport.
Sur un petit site par exemple.
avec switch ou if :
switch($page) {
case : "home"
include 'home.php';
break;
etc...
}
Et ne surtout pas oublier de sécuriser cela, c'est à dire vérifier aussi que la fichier existe et correspond au schéma que tu auras établie en quel cas n'importe qui pourrait passer un nom de fichier après ta variable index.php?page=lenomd'unfichier et hope j'ai tout le code donc grosse faille de sécurité.
Voilà tu as tout pour pouvoir régler ton problème.
Ouff !
J'utilise uniquement des liens relatifs.
Dans mon index, j'inclus le fichier Menus.php suivant:
Ainsi ces liens fonctionnent depuis l'index.
Mais lorsque je change de page en cours, les liens ne fonctionnent plus.
J'ai compris d'où viens l'erreur, mais je ne sais pas comment faire.
Peux tu m'expliquer ca ?
J'utilise uniquement des liens relatifs.
Dans mon index, j'inclus le fichier Menus.php suivant:
<div class="Menus">
<nav>
<ul>
<li><a href="index.php">Actus</a></li>
<li><a href="Sections/Tutos.php">Tutos</a></li>
<li><a href="Sections/Telechargements.php">Téléchargements</a></li>
<li><a href="Sections/TaskForce.php">Task Force</a></li>
<li><a href="Sections/Apropos.php">A propos</a></li>
</ul>
</nav>
</div>
Ainsi ces liens fonctionnent depuis l'index.
Mais lorsque je change de page en cours, les liens ne fonctionnent plus.
J'ai compris d'où viens l'erreur, mais je ne sais pas comment faire.
Peux tu m'expliquer ca ?
avec switch ou if :
switch($page) {
case : "home"
include 'home.php';
break;
etc...
}
theshadoo
Messages postés
786
Date d'inscription
samedi 26 mai 2007
Statut
Membre
Dernière intervention
3 mai 2016
123
30 déc. 2013 à 20:34
30 déc. 2013 à 20:34
Cela pourrait être avec if si tu préfères que switch ok ?
en fait cela signifie :
switch($page) => lorsque je rencontre la variable $page envoyé en get donc tu là présente comme tu veux $_GET['page']
case: "home" => dans le cas de la vriable home et bien tu mets en relation home et ta page en question.
Exemple Tutos:
Ton fichier tutos.php comportera juste le contenu dont tu as besoin.
variable $_GET['pages'] = "tutos"
et "tutos" corresponds à ta page tutos.php.
Tu connais les includes et tu sais comment utiliser les variables envoyé par url avec $_get donc tu devrais arriver à comprendre le fonctionnement.
en fait cela signifie :
switch($page) => lorsque je rencontre la variable $page envoyé en get donc tu là présente comme tu veux $_GET['page']
case: "home" => dans le cas de la vriable home et bien tu mets en relation home et ta page en question.
Exemple Tutos:
Ton fichier tutos.php comportera juste le contenu dont tu as besoin.
variable $_GET['pages'] = "tutos"
et "tutos" corresponds à ta page tutos.php.
Tu connais les includes et tu sais comment utiliser les variables envoyé par url avec $_get donc tu devrais arriver à comprendre le fonctionnement.