Page 1 sur 1

Php - charger contenu avec include

Posté : 11 oct. 2013, 13:11
par firnos
Bonjour,

Dans ma page index.php, j'ai un header, un footer, et du contenu qui se charge lorsque que clic sur une image.
toutes mes pages php se trouve dans un dossier 'pages' qui est à la racine du site avec index.

Mon problème se trouve dans au niveau du href.Lorsque je teste mon lien sur l'image. j'ai l'erreur suivante :
The requested URL /MonSite/ma_page was not found on this server.



J'ai tester toutes les pages en changeant celle qui s'affiche par défaut qui est 'accueil' par les autres et elles fonctionnent.

voici mon élément image
 <div class="col-lg-6">
		<h4>titre H4</h4>
		<a href="ma_page">
			<img src="images/menu1_ma_page.jpg" data-src="holder.js/100%x180" alt="aller sur ma page" class="thumbnail">
		</a>
....
Voici la tableau dans ma page index.php
<?php
		// Tableau des fichiers à importer
		$arrayPages = array
		(
					'accueil' => 'accueil.php',
					'beaute_mains_pieds' => 'beaute_mains_pieds.php',
					'beaute_regard' => 'beaute_regard.php',		
					'epilations' => 'epilations.php',
					'modelages' => 'modelages.php',
					'soins_du_corps' => 'soins_du_corps.php',
					'tarifs' => 'tarifs.php',
					'contact' => 'contact.php',					  
					'avantages' => 'avantages.php',
		);
		// La variable $page existe-elle dans l'url ?
		if(!empty($_GET['page']))
			{
			// Vérification de la valeur passée dans l'url : est-elle une clé du tableau ?
				if(array_key_exists(strtolower($_GET['page']), $arrayPages))
				{
					// Oui, alors on l'importe
					include('pages/'. $arrayPages[ strtolower($_GET['page']) ] );
				}
				else
				{
					// Non, alors on importe un fichier par défaut
		            include('pages/erreur-404.php');
				}
			}
		else
		{
			// Non, on affiche la page d'accueil par défaut
			include('pages/'. $arrayPages['accueil']);
		}
		?>

Re: Php - charger contenu avec include

Posté : 11 oct. 2013, 13:57
par xTG
<a href="pages/ma_page">
ou
<a href="index.php?page=ma_page">
fonctionnerait mieux. ;)

Re: Php - charger contenu avec include

Posté : 11 oct. 2013, 16:48
par firnos
Merci,

j'ai utilisé la deuxième solution. Et tout fonctionne :)

j'aurai une seconde question. J'utilise un bouton tout en haut de mon site qui doit me ramener à l'accueil. j'utilise la propriété onclick mais il ne se passe rien.
Quelle est mon erreur ?

Par avance merci
<button type="button" class="btn btn-default" ONCLICK="index.php?page=accueil">
					<span class="glyphicon glyphicon-home">
					</span> Home
				</button>

Re: Php - charger contenu avec include

Posté : 11 oct. 2013, 17:24
par damien_55
Purquoi un bouton avec onclick? pourquoi ne pas faire un lien tout simplement.
<a href="TON-ADRESSE-ICI"> <button type="button" ....></button></a>

Re: Php - charger contenu avec include

Posté : 11 oct. 2013, 18:01
par xTG
Je serais même davantage partant pour un lien possédant une class qui le fasse ressembler à un bouton (mais pas si facile quand on utilise pas un framework css je l'admet).

Sinon pour la solution javascript c'est parce que tu ne dis en rien ce qu'il doit faire.
Tu lui files les données (l'url) mais tu ne lui donnes pas la fonction qu'il doit appliquer.
Le onclick n'est qu'un évènement rien d'autre.
Dans ton cas il faut utiliser la fonction de redirection qui peut se traduire par :

Code : Tout sélectionner

<button type="button" class="btn btn-default" ONCLICK="window.location.href=index.php?page=accueil">