[PHP] Besoin d'aide - Include et conditions
cidux
-
loute08 -
loute08 -
Bonjour à tous,
J'essaye de créer un site pour un groupe de musique d'amis. J'utilise un kit template car je suis assez nul en design (et je m'occuperai du design plus tard d'ailleurs)
Mon site se divise en 3 partie :
l'index qui comporte le header et le menu,
le menu de gauche avec les dates de concerts, et la partie de droite dite de contenu.
Mon but est que la partie de droite change en fonction d'ou on se trouve sur le site mais pas le header et le menu gauche. (histoire de ne pas devoir changer les dates dans toutes les pages à chaque fois)
Mon index à ceci :
Et mes pages contact, groupe, discographie, accueil sont de simple pages php ne comportant que du contenu.
Le problème : Il n'affiche QUE la page d'accueil et ce peut importe le bouton du menu ...
En gros il va directement dans le "else".
Que puis je faire ? J'ai presque tout essayer je ne comprends pas !!
Merci d'avance
J'essaye de créer un site pour un groupe de musique d'amis. J'utilise un kit template car je suis assez nul en design (et je m'occuperai du design plus tard d'ailleurs)
Mon site se divise en 3 partie :
l'index qui comporte le header et le menu,
le menu de gauche avec les dates de concerts, et la partie de droite dite de contenu.
Mon but est que la partie de droite change en fonction d'ou on se trouve sur le site mais pas le header et le menu gauche. (histoire de ne pas devoir changer les dates dans toutes les pages à chaque fois)
Mon index à ceci :
<div id="menu">
<ul>
<li><a href="index.php?page=accueil.php">Accueil</a></li>
<li><a href="index.php?page=band.php">Le Groupe</a></li>
<li><a href="index.php?page=band.php">Discographie</a></li>
<li><a href="index.php?page=band.php">Contact</a></li>
</ul>
</div>
Et un peu plus bas :
$pageOK = array(
'accueil' => 'accueil.php',
'groupe' => 'groupe.php',
'discographie' => 'discographie.php',
'contact' => 'contact.php');
if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
include($pageOK[$_GET['page']]);
} else {
include('accueil.php');
}
?>
Et mes pages contact, groupe, discographie, accueil sont de simple pages php ne comportant que du contenu.
Le problème : Il n'affiche QUE la page d'accueil et ce peut importe le bouton du menu ...
En gros il va directement dans le "else".
Que puis je faire ? J'ai presque tout essayer je ne comprends pas !!
Merci d'avance
A voir également:
- [PHP] Besoin d'aide - Include et conditions
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Mise en forme conditionnelle excel plusieurs conditions - Guide
- Votre compte a été désactivé pour violation de nos conditions d’utilisation - Guide
- Mise en forme conditionnelle avec 2 conditions ✓ - Forum Bureautique
3 réponses
Salut !
S'il passe directement dans le else c'est que la condition testée n'est pas satisfaite :-) : tu passes accueil.php en paramètre mais la clé de $pageOK est accueil.
_
S'il passe directement dans le else c'est que la condition testée n'est pas satisfaite :-) : tu passes accueil.php en paramètre mais la clé de $pageOK est accueil.
_
Peux tu me dire ce que je dois changer dans la condition ?
Je ne vois pas, j'ai essayé avec .php, sans, etc. Je ne trouve pas le problème
J'ai pourtant suivi les insctructions à la lettre :D
Un grand merci !
Je ne vois pas, j'ai essayé avec .php, sans, etc. Je ne trouve pas le problème
J'ai pourtant suivi les insctructions à la lettre :D
Un grand merci !
Salut !
Tu as confondu nom des indices et contenu de la variable.
Les indices de la variable $pageOK sont nommés :
- 'accueil'
- 'groupe'
- 'discographie'
- 'contact'
Les chaines que tu passes en paramètre dans l'URL correspondent en fait à des contenus du tableau et pas au nom de l'indice. Ces chaines sont :
- 'accueil.php'
- 'groupe.php'
- 'discographie.php'
- 'contact.php'
Or tu fais le test :
Dans ce test PHP remplace $_GET['page'] par sa valeur, le test peut donc s'écrire isset($pageOK['discographie.php'])
Dans ton code, où as-tu vu qu'il y avait un indice nommé 'discographie.php' ? Nulle part. Ton test isset($pageOK['discographie.php']) n'est donc jamais vrai et le script bifurque vers le else.
Est-ce que cela répond à ta question ?
_
Tu as confondu nom des indices et contenu de la variable.
Les indices de la variable $pageOK sont nommés :
- 'accueil'
- 'groupe'
- 'discographie'
- 'contact'
Les chaines que tu passes en paramètre dans l'URL correspondent en fait à des contenus du tableau et pas au nom de l'indice. Ces chaines sont :
- 'accueil.php'
- 'groupe.php'
- 'discographie.php'
- 'contact.php'
Or tu fais le test :
if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) )
Dans ce test PHP remplace $_GET['page'] par sa valeur, le test peut donc s'écrire isset($pageOK['discographie.php'])
Dans ton code, où as-tu vu qu'il y avait un indice nommé 'discographie.php' ? Nulle part. Ton test isset($pageOK['discographie.php']) n'est donc jamais vrai et le script bifurque vers le else.
Est-ce que cela répond à ta question ?
_
Bonjour, j'ai vu que tu avais répondu super vite à ce poste et moi aussi j'ai besoin d'aide je suis en train de concevoir un site Internet et j'aimerais que mon index soit ma page modèle et que toutes mes autres pages php du site ne soit en fait que du texte qui s'intègre au modèle peux tu m'aider je n'y comprend rien...
MErci d'avance
MErci d'avance