Page 1 sur 1

Mennu CCS et include PHP

Posté : 04 févr. 2014, 23:23
par filou11
Bonsoir,
je tente de faire un site en PHP avec des Includes.
La mise en forme du site est faite avec du CCS.
J'ai une entête, un contenu et un pied de page.
La bannière et le menu sont dans "entete", les pages à afficher dans "contenu" et le pied de page dans "pied"
Tous s'affiche correctement, mais lorsque je clique sur un lien de mon menu, la page appelée ne s'ouvre pas dans la partie contenu, mais remplace la page courante.
J'ai fait plusieurs essai avec TARGET, mais cela ne marche pas.

Je tiens à préciser que je suis novice et je n'ai que très peu de connaissance. j'espère que vous serait indulgent.

ma page index.php
<?php
 
  // On initialise la liste des pages valides à un tableau vide
  $pagesOk = array();
 
  // On ouvre le répertoire des pages
  $pagesDir = opendir('./pages/');
 
  // On lit le répertoire
  while($file = readdir($pagesDir))
  {
 
    // On vérifie qu'il s'agit bien d'un fichier
    // et que son extension est bien .html
    if( is_file($file) && substr($file,-4,4)=='.php')
 
      // Si c'est bien le cas, on ajoute la page à la liste des pages autorisées
      $pagesOk[] = $file;
  }
 
  // On commence par lire la page demandée
  // Si ce n'est pas vide
  if(!empty($_GET['page']))
    // On lit la valeur demandée
    $page = $_GET['page'];
  else
   // Sinon on utiliser index comme page par défaut
   $page = 'index';
 
  // On vérifie que la page demandée se trouve dans les pages autorisées
  // La liste contient désormais l'extension des fichiers, on ajoute donc '.html'
  // a la variable $page à contrôler.
  if(!in_array($page.'.php',$pagesOk))
  {
 
    // Elle n'y est pas, dans ce cas on peut renvoyer une erreur 404
    header("HTTP/1.0 404 Not Found");
 
    // On stop l'exécution du script ici
    exit;
 
  }
 
  // Arrivé ici, on sait que la page demandée existe forcément.
  // On va donc pouvoir commencer la construction de la page.
?>

<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>
		Bienvenue sur GénéaYannis.fr
	</title>
	<!-- La feuille de styles "base.css" doit être appelée en premier. -->
	<link rel="stylesheet" type="text/css" href="styles/base.css" media="all" />
	<link rel="stylesheet" type="text/css" href="styles/modele03.css" media="screen" />
</head>

<body>

<div id="global">

	<div id="entete">
<?php include '/banniere.php'; ?>
<?php include '/menu.php'; ?>
	</div><!-- #entete -->

 	<div id="contenu">
<!--  // On inclut la page demandée --> 
      <?php include '/pages/'.$page.'.php'; ?>
	</div><!-- #contenu -->

	<div id="pied">
  <!--// On inclut enfin le pied de page  --> 
<?php include '/pied.php'; ?>
	</div><!-- #pied -->


</div><!-- #global -->
le menu:
<title>Untitled Page</title>
	<!-- Start css3menu.com HEAD section -->
	<link rel="stylesheet" href="menu_files/css3menu1/style.css" type="text/css" /><style type="text/css">._css3m{display:none}</style>
	<!-- End css3menu.com HEAD section -->
	
</head>

<!-- Start css3menu.com BODY section -->
<ul id="css3menu1" class="topmenu">
	<li class="topmenu"><a href="index.php" title="Bienvenue sur GénéaYannis.fr" style="height:19px;line-height:19px;">Geneayannis.fr</a></li>
	<li class="topmenu"><a href="#" style="height:19px;line-height:19px;"><span>Ma Généalogie</span></a>
	<ul>
		<li><a href="#"><span>Mon arbre</span></a>
		<ul>
			<li><a href="pages/1.php" target="_self">essai page 1</a></li>
			<li><a href="pages/2.php" target="_blank">essai page 2</a></li>
		</ul></li>
		<li><a href="pages/3.php">Mes cousins page 3</a></li>
		<li><a href="pages/4.php">Actes à déchiffrer page 4</a></li>
	</ul></li>
	<li class="topmenu"><a href="#" style="height:19px;line-height:19px;"><span>Outils Généalogiques</span></a>
	<ul>
		<li><a href="#">Calendrier Républicain</a></li>
		<li><a href="#">Paléographie</a></li>
		<li><a href="#">Outils Généalogiques 2</a></li>
		<li><a href="#">Outils Généalogiques 3</a></li>
		<li><a href="#">Outils Généalogiques 4</a></li>
		<li><a href="#">Outils Généalogiques 5</a></li>
	</ul></li>
	<li class="topmenu"><a href="#" style="height:19px;line-height:19px;"><span>Dépouillement</span></a>
	<ul>
		<li><a href="#">La Louvière Lauragais</a></li>
	</ul></li>
	<li class="topmenu"><a href="#" style="height:19px;line-height:19px;"><span>Inventaires de Notaires</span></a>
	<ul>
		<li><a href="#">Inventaires des Notaires de l'Ariège</a></li>
		<li><a href="#">Inventaires des Notaires de l'Aude</a></li>
		<li><a href="#">Inventaires des Notaires de la Haute-Garonne</a></li>
	</ul></li>
	<li class="topmenu"><a href="Villes et villages de mes ancêtres" style="height:19px;line-height:19px;"><span>Cartes Postales</span></a>
	<ul>
		<li><a href="#">Cartes Postales 0</a></li>
		<li><a href="#">Cartes Postales 1</a></li>
		<li><a href="#"><span>Cartes Postales 2</span></a>
		<ul>
			<li><a href="#">Cartes Postales 2 0</a></li>
		</ul></li>
	</ul></li>
	<li class="toplast"><a href="#" style="height:19px;line-height:19px;"><span>Contact</span></a>
	<ul>
		<li><a href="#">Contact</a></li>
		<li><a href="#">Livre d'or</a></li>
	</ul></li>
</ul>
<!-- End css3menu.com BODY section -->

</body>
</html>
Merci d'avance à toutes personne qui aura lu jusqu'à la fin.
J'espère que vous pourrez m'aider.

Cordialement Philippe

Re: Mennu CCS et include PHP

Posté : 05 févr. 2014, 08:11
par xTG
Il faut modifier les liens de ton menu pour les adapter à ton système d'inclusion :
<li><a href="pages/1.php" target="_self">essai page 1</a></li>
devient :
<li><a href="index.php?page=pages/1.php">essai page 1</a></li>

Re: Mennu CCS et include PHP

Posté : 05 févr. 2014, 19:17
par filou11
Bonsoir,
merci pour votre réponse rapide.
J'ai modifié les 4 premiers lien de mon menu, mais cela ne marche pas
<ul id="css3menu1" class="topmenu">
	<li class="topmenu"><a href="index.php" title="Bienvenue sur GénéaYannis.fr" style="height:19px;line-height:19px;">Geneayannis.fr</a></li>
	<li class="topmenu"><a href="#" style="height:19px;line-height:19px;"><span>Ma Généalogie</span></a>
	<ul>
		<li><a href="#"><span>Mon arbre</span></a>
		<ul>
			<li><a href="index.php?page=pages/1.php">essai page 1</a></li>
			<li><a href="index.php?page=pages/2.php">essai page 2</a></li>
		</ul></li>
		<li><a href="index.php?page=pages/3.php">Mes cousins page 3</a></li>
		<li><a href="index.php?page=pages/4.php">Actes à déchiffrer page 4</a></li>
	</ul></li>
Je tombe sur la page 404, page introuvable??

Re: Mennu CCS et include PHP

Posté : 05 févr. 2014, 20:12
par xTG
Exact je n'avais lu qu'en diagonale ton script de vérification (qui n'est pas le tien vu ton interrogation sur le pourquoi cela affiche 404).
Il faut enlever le répertoire du lien et ne garder que le nom de fichier.

Re: Mennu CCS et include PHP

Posté : 05 févr. 2014, 20:48
par filou11
si j'ai bien compris, j'enlève le répertoire dans les liens comme dessous
		<li><a href="#"><span>Mon arbre</span></a>
		<ul>
			<li><a href="index.php?page=1.php">essai page 1</a></li>
			<li><a href="index.php?page=2.php">essai page 2</a></li>
		</ul></li>
		<li><a href="index.php?page=3.php">Mes cousins page 3</a></li>
		<li><a href="index.php?page=4.php">Actes à déchiffrer page 4</a></li>
mais cela ne marche toujours pas.

Effectivement, comme dit au départ, je suis novice (même EMBRYON). J'ai récupéré ce bout de code qui marche bien, mais pour les liens???.
Merci d'avance.

Re: Mennu CCS et include PHP

Posté : 05 févr. 2014, 21:24
par xTG
Ah et puis il faut enlever l'extension. ;)

Re: Mennu CCS et include PHP

Posté : 05 févr. 2014, 21:39
par filou11
:lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:
Merci, cela marche Nikel.
Je sais pas quoi vous dire, sinon MERCI. =D> =D> =D>

P.S.: je pense que j'aurais encore besoin de vous!!!