Deux include dans ma page index

smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010 - 23 mai 2010 à 11:04
smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010 - 3 juin 2010 à 06:26
Salut,

Je suis un nouveau en programmation PHP. Voila j'ai créer une page Index.php avec quatre divs. Mais la navigation principale du site ce fait entre deux divs.

Le
et le
. Mon div menu principal vertical a une page par défaut ainsi que mon div contenu.

Dans mon div menu principal vertical il y a un lien sur la page par défaut qui pointe vers une page appelé "Menu numerique" qui elle s'affiche dans menu principal vertical a la place de ma page par defaut qui est "menu_vertical.php".

Et lorsque je clique sur ce lien de ma page "Menu numérique", un tableau 1015 s'affiche a ce moment la dans mon
pour remplacer ma page par defaut qui est "test.php".

Mais comment faire a ce moment la pour que ma page Menu numérique reste affiché. Car dès que j'ai cliqué sur le lien tableau 1015, ma page par défaut ré apparait "menu_vertical.php".

Voila le code de ma page index :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="acceuil.css">
<title>Moana Service</title>
</head>


Ceci est le bandeau




<?php

// On définit le tableau contenant les pages autorisées
// ----------------------------------------------------
$pageOK array('Menu numerique'> 'menu_numerique.php',
'Menu Vertical' => 'menu_vertical.php');

// On teste que le paramètre d'url existe et qu'il est bien autorisé
// -----------------------------------------------------------------
if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
include($pageOK[$_GET['page']]);
} else {
include ('menu_vertical.php');
}
?>






<?php

// On définit le tableau contenant les pages autorisées
// ----------------------------------------------------
$pageOK array('Test'> 'test.php',
'Tableau 1015' => 'tableau_1015.php',
'Tableau 1022' => 'tableau_1022.php');

// On teste que le paramètre d'url existe et qu'il est bien autorisé
// -----------------------------------------------------------------
if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
include($pageOK[$_GET['page']]);
} else {
include('test.php');
}
?>




Ceci est le pied de page


</html>

Voila tous mes liens marchent.Mon seul souci est que ma page par défaut re apparait dès que j'ai cliqué sur le lien tableau 1015.

j'a i peut etre un problème de variable.Ou il manque une condition if,else ou else if.

Ou dois je modifier la forme de mes liens.

Car le lien qui pointe vers tableau numerique est de cette forme:
index.php?page=Menu numerique.

Et celui qui pointe vers tableau 1015 et de cette forme :
index.php?page=Tableau 1015

Il n'y aurait il pas quelque chose à changé dans ce code et dans mes intructions include.

Merci d'avance pour les réponses.

Moana.

10 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
23 mai 2010 à 11:37
Salut,

Je ne suis pas sûr d'avoir tout capté, loin de là.

Déjà il y a un truc qui me choque :
Tu as 2 div "dynamiques" (menu_principal_vertical et contenu)
Tu ne passes qu'un seul argument dans l'url (page)

Donc, lorsqu'il s'agit de modifier le contenu de "contenu", tu ne vois pas le problème (pourtant s'en est un), mais lorsque tu cliques sur le lien de menu numérique
http://xxxxxx/index.php?page=Tableau 1015
tu remets la page par défaut dans le div "menu_principal_vertical" puisque la page "tableau 1015" n'est pas autorisée.

Une des solutions serait simplement d'utiliser 2 variables :
http://xxxxxx/index.php?menu=trucMuche&contenu=machinchose

Cordialement,

Kohntark -
0
smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010
23 mai 2010 à 22:46
Salut kohntark,

Merci pour ta réponse. Oui je pense aussi que cela vient de mon url.

Mais je ne sais pas comment m'y prendre.

Tu me dis que j'ai un problème quand je modifie le contenu lorsque je clique sur le "lien numerique" il m'affiche bien ma page dans le "contenu" à partir du lien "index.php?page=Tableau 1015" et non comme tu me l'indique :
"http://xxxxxx/index.php?page=Tableau 1015".

C'est vrai pour ton conseil : la page par défaut dans le div "menu_principal_vertical" re apparait puisque la page "tableau 1015" n'est pas autorisée et n'est autorisé que dans le contenu.

Mais comment faire pour que Menu numerique reste affiché.Tant que je n'ai pas demandé.

Tu me dis d'utiliser deux variables mais je ne sais comment faire cela encore, je suis un débtutant.Peux tu me donner un exemple avec les données que tu as.

Merci encore beaucoup pour ton aide.

Moana.

P.S: SI tu veux je peux t'envoyer un fichier zippé pour voir mon erreur.
Mon fichier fait 6.6Ko.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
24 mai 2010 à 08:17
"index.php?page=Tableau 1015" et non comme tu me l'indique :
"http://xxxxxx/index.php?page=Tableau 1015".

C'est la même chose, non ?

Mais comment faire pour que Menu numerique reste affiché.Tant que je n'ai pas demandé.

Tu me dis d'utiliser deux variables mais je ne sais comment faire cela encore, je suis un débtutant.Peux tu me donner un exemple avec les données que tu as.


Qu'est ce qui ne va pas avec l'exemple que je t'ai donné ? :
Une des solutions serait simplement d'utiliser 2 variables :
http://xxxxxx/index.php?menu=trucMuche&contenu=machinchose


Bien évidemment il faut modifier en conséquence les 2 tests sur les pages autorisées en utilisant les bonnes variables $_GET et modifier tous tes liens pour qu'ils envoient ces 2 arguments (le nom de la page pour le menu d'une part, et celui du contenu de l'autre)

Je ne vois pas bien où tu bloques.

Cordialement,

Kohntark -
0
smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010
24 mai 2010 à 20:46
Salut,

Ce que je ne comprends pas c'est comment passer les deux variables dans mon instruction inlcude.

<?php

// On définit le tableau contenant les pages autorisées
// ----------------------------------------------------
$pageOK array('Menu numerique'> 'menu_numerique.php',
'Menu Vertical' => 'menu_vertical.php');

// On teste que le paramètre d'url existe et qu'il est bien autorisé
// -----------------------------------------------------------------
if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
include($pageOK[$_GET['page']]);
} else {
include ('menu_vertical.php');
}
?>

Et par la suite comment modifier mes liens.Peux tu me donner un exemple stp.

Dans ton exemple:
http://xxxxxx/index.php?menu=trucMuche&contenu=machinchose

Que veux dire les xxxxx, je remplace "page" par "menu" dans $_GET['page'],
&contenu=machinchose je dois l'inserer comme variable dans l'instruction de mon include.


Merci encore pour ton aide.

Moana.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
25 mai 2010 à 06:38
Que veux dire les xxxxx

Ils remplacent simplement ton domaine (que je ne connais pas et qu'il n'est de toute façon pas nécessaire d'indiquer sur ce forum)
C'est juste pour te montrer à quoi ressemble l'url complète.

Bon, je te la refais, mais c'est exactement la même chose que le principe initial, sauf que tu dédoubles :
Ce qu'il faut que tu fasses c'est créer 2 variables :
- 1 qui correspond à la page que tu dois afficher dans le div "menu_principal_vertical"
- 1 qui correspond à la page que tu dois afficher dans le div "contenu"

Tu indiques donc à chaque appel de index.php quelle page tu veux pour le contenu ET pour le menu :

[index.php?menu_principal_vertical=menu_vertical.php&contenu=tableau_1022.php tableau 1022]

Dans cette exemple je nomme les arguments avec le nom des divs auxquels ils sont destinés, mais tu peux bien sûr les nommer autrement.

Pour ton lien tableau 115 contenu dans menu_numerique.php :

[index.php?menu_principal_vertical=menu_numerique.php&contenu=tableau1015.php tableau 1015]

Et dans ton traitement :



 
<?php
$pageOK array('Menu numerique'> 'menu_numerique.php',
'Menu Vertical' => 'menu_vertical.php');

if ( (isset($_GET['menu_principal_vertical'])) 
&& (isset($pageOK[$_GET['menu_principal_vertical']])) ) {
   include($pageOK[$_GET['menu_principal_vertical']]);
} else {
   include ('menu_vertical.php');
} 
?>




... même traitement pour ton div "contenu", en utilisant bien évidemment la variable $_GET['contenu']

Bon, à vrai dire ce n'est qu'un début, il y aurait bien d'autres choses à faire, mais ça devrait fonctionner.

Cordialement,

Kohntark -
0
smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010
25 mai 2010 à 09:31
Salut,

Bon j'ai suivi tes conseils.Mais les liens ne fonctionnent plus maintenant dès la page d'acceuil dans menu_principal_vertical.

Voila ce que j'ai mis pour mes includes.





















Pour le lien vers tableau numerique j'ai mis ca:

"index.php?menu_principal_vertical=menu_vertical.php&contenu=menu_numerique.php"

et pour le lien vers tableau 1015 j'ai mis cela :

href="index.php?contenu=test.php&contenu=tableau_1015.php"

Maintenant dès le début mais liens ne fonctionne plus à partir de mon menu vetical.

Merci encore beaucoup de ta patiente, en espérant vraiment trouver une solution grace à toi.

Je te le dis encour je suis un débutant en php.

Cordialement.

Moana.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
25 mai 2010 à 09:54
Hum, tite erreur de ma part : il ne faut pas mettre l'extension (.php) dans les liens
[index.php?menu_principal_vertical=menu_vertical.php&contenu=tableau_1022.php tableau 1022]
=>
[index.php?menu_principal_vertical=menu_vertical&contenu=tableau_1022 tableau 1022]


Hormis cet oubli de ma part :
Pour le lien vers tableau numerique j'ai mis ca:
"index.php?menu_principal_vertical=menu_vertical.php&contenu=menu_numerique.php"

Pourquoi mets tu un page de type "menu" dans le contenu ??

et pour le lien vers tableau 1015 j'ai mis cela :
href="index.php?contenu=test.php&contenu=tableau_1015.php"

Où est la variable menu_principal_vertical ?
Tu a 2 "contenu" ici, qui plus est avec 2 pages de type "contenu"

Dis moi franchement, as tu seulement compris le principe de ton script d'origine ?
Parce que c'est exactement la même chose là, sauf que l'on double.

Ou alors je n'ai pas compris quelque chose et dans ce cas il serait bon que tu ré expliques.

menu_principal_vertical == menu à afficher dans le div "menu_principal_vertical"
contenu == contenu à afficher dans le div "contenu"


Cordialement,

Kohntark -
0
smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010
26 mai 2010 à 06:31
Salut,

J'ai donc suivi ta méthode avec mes deux includes.




<?php


$pageOK array('Menu numerique'> 'menu_numerique.php',
'Menu Vertical' => 'menu_vertical.php');

if ( (isset($_GET['menu_principal_vertical'])) 
&& (isset($pageOK[$_GET['menu_principal_vertical']])) ) {
   include($pageOK[$_GET['menu_principal_vertical']]);
} else {
   include ('menu_vertical.php');
} 
?>

et l'autre



<?php

  // On définit le tableau contenant les pages autorisées
  // ----------------------------------------------------
  $pagesOK array('Test'> 'test.php',
  				  'Tableau 1015' => 'tableau_1015.php',
  'Tableau 1022' => 'tableau_1022.php');

  // On teste que le paramètre d'url existe et qu'il est bien autorisé
  // -----------------------------------------------------------------
  if ( (isset($_GET['contenu'])) 
&& (isset($pagesOK[$_GET['contenu']])) ) {
   include($pagesOK[$_GET['contenu']]);
} else {
   include ('test.php');
}
  
?>


Mes liens ne fonctionnent plus avec cette méthode.

Voila mes liens index.php?menu_principal_vertical=menu_vertical&contenu=menu_numerique qui doit apparaitre dans :

et l'autre

index.php?contenu=test&contenu=tableau_1015 qui doit apparaitre dans



Oui j'ai compris le principe de mon script car c'est mon idée. Menu numerique doit apparaitre dans


et Tableau 1015 dans


Et la page par défaut 'menu_vertical.php' dans

ne doit plus re apparaitre lors d'un choix effectué dans 'menu numerique' ou tant qu'on ne l'a pas rappelé.

Merci.

Cordialement.

Moana.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
26 mai 2010 à 09:21
Re Smoana,

Tu m'excuseras mais je ne sais plus vraiment quoi te dire
Ca fait 4 messages où je t'indique et t'explique qu'il faut passer 2 arguments dans l'url :

menu_principal_vertical == menu à afficher dans le div "menu_principal_vertical"
contenu == contenu à afficher dans le div "contenu"


et toi tu fais encore ça :
index.php?menu_principal_vertical=menu_vertical&contenu=menu_numerique
index.php?contenu=test&contenu=tableau_1015


Il est bien évident que ce n'est pas prêt de marcher (relire les explications que j'ai déjà données)

Oui j'ai compris le principe de mon script car c'est mon idée.

Ne le prends pas mal (ce n'est vraiment pas le but) mais permet moi d'en douter.
Ou alors explique moi ce que tu penses qu'il va se passer avec tes liens :

index.php?contenu=test&contenu=tableau_1015

Là tu cherches à mettre test.php ET tableau_1015.php dans le div contenu :
=> évidemment impossible tel que ton script est construit (et ce n'est pas le but)
> que mets tu en menu ??? > plantage puisque "menu_principal_vertical" n'est pas défini

index.php?menu_principal_vertical=menu_vertical&contenu=menu_numerique

Là tu cherches à mettre menu_vertical.php dans le div "menu_principal_vertical" => OK
Par contre tu cherches à afficher "menu_numerique.php" dans le div "contenu" :
> non défini dans tes pages autorisées à s'afficher dans ce div > plantage (c'est la page par défaut qui s'affichera)

Bref, si je peux me permettre relis attentivement le thread car j'ai l'impression que tu en as loupé une partie.


Cordialement,


Kohntark -
0
smoana Messages postés 26 Date d'inscription vendredi 21 mai 2010 Statut Membre Dernière intervention 1 novembre 2010
3 juin 2010 à 06:26
Salut kohntark,

Je te remercie beaucoup de ton aide.

Après plusieurs test et en m'inspirant beaucoup de tes conseils, j'ai finalement réussi.

J'ai encore un tout petit souci mais je le résoudrais plus tard.

Merci encore pour ton aide.

Cordialement.

Moana.
0
Rejoignez-nous