8792 sujets

Développement web côté serveur, CMS

Bonjour.

J'ai essayé le tutoriel PHP de la page http://css.alsacreations.com/Tutoriels-PHP/Inclure-un-fichier-dans-un-autre-grace-a-CSS-et-PHP et j'ai un petit problème. Lorsque j'associe le fichier "accueil.php" avec la constante accueil (pour donner le lien index.php=?accueil), au lieu d'afficher la page prévue, la page index s'actualise sans arrêt.

Pour voir un exemple de ce dont je vous parle, vous pouvez regarder au http://www.musimix.ca/belsima2/.

Merci d'avance.
Bonjour.
charlesbelisle2919 a écrit :

(pour donner le lien index.php=?accueil), au lieu d'afficher la page prévue, la page index s'actualise sans arrêt.

Entre autres raisons possibles, "index.php=?accueil" ne fonctionnera pas.
Il faut préferrer: "index.php?page=accueil"

C'est déjà un point...
Salut,
charlesbelisle2919 a écrit :
http://css.alsacreations.com/Tutoriels-PHP/Inclure-un-fichier-dans-un-autre-grace-a-CSS-et-PHP et j'ai un petit problème. Lorsque j'associe le fichier "accueil.php" avec la constante accueil (pour donner le lien index.php=?accueil), au lieu d'afficher la page prévue, la page index s'actualise sans arrêt.

Pour voir un exemple de ce dont je vous parle, vous pouvez regarder au http://www.musimix.ca/belsima2/
Visiblement, tu as un include récursif (en gros, tu dois avoir un include "index.php" quelque part dans ton index.php).
Voici les codes utilisés :

Code du menu
<a class="c" onmouseover="window.status='Productions Belsima :: Accueil';return(true)" onmouseout="window.status=''" href="index.php?page=accueil">Accueil</a> |
<a class="c" onmouseover="window.status='Productions Belsima :: Réalisations';return(true)" onmouseout="window.status=''" href="index.php?page=realisations">Réalisations</a> |
<a class="c" onmouseover="window.status='Productions Belsima :: Équipe';return(true)" onmouseout="window.status=''" href="index.php?page=equipe">L'équipe</a> |
<a class="c" onmouseover="window.status='Productions Belsima :: News';return(true)" onmouseout="window.status=''" href="index.php?page=news">News</a> |
<a class="c" onmouseover="window.status='Productions Belsima :: Partenaires';return(true)" onmouseout="window.status=''" href="index.php?page=partenaires">Partenaires</a> |
<a class="c" onmouseover="window.status='Productions Belsima :: FAQ';return(true)" onmouseout="window.status=''" href="index.php?page=faq">FAQ</a> |
<a class="c" onmouseover="window.status='Productions Belsima :: Liens';return(true)" onmouseout="window.status=''" href="index.php?page=liens">Liens</a> |
<a class="c" onmouseover="window.status='Productions Belsima :: Contact';return(true)" onmouseout="window.status=''" href="index.php?page=contact">Contact</a>


Code de l'affichage
<?php 
if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page']; 
 switch($page)
{
case 'accueil': include ('accueil.php');break;
case 'realisations': include ('realisations.php');break;
case 'equipe': include ('equipe.php');break;
case 'news': include ('news.php');break;
case 'partenaires': include ('partenaires.php');break;
case 'faq': include ('faq.php');break;
case 'liens': include ('liens.php');break;
case 'contact': include ('contact.php');break;
} 
?>

Modifié par charlesbelisle2919 (10 Nov 2006 - 02:11)
Si je peux me permettre un conseil, évite l'horrible switch() pour faire ça, et préfère un array().
$pages=array(
	'accueil',
	'realisations',
	'equipe',
	'news',
	'partenaires',
	'faq',
	'liens',
	'contact'
	);
if(isset($_GET['page']) && in_array($_GET['page'],$pages))
include 'inc_'.$_GET['page']'.php';
else
include 'inc_accueil.php';

Si tu regardes bien, j'ai préfixé tes pages avec un inc_

Si tu préfères garder tes pages sans préfixe tu peux l'enlever du code. Smiley cligne
Tu peux encore, si tu le souhaite, ajouter une vérification avec un ctype_alpha() sur la variable $_GET['page']

Fais voir comment tu traites ta structure d'include.

a écrit :
Lorsque j'associe le fichier "accueil.php" avec la constante accueil

De quelle constante parles-tu ? Smiley langue
Modifié par Bison (10 Nov 2006 - 08:05)
A vu de nez, ton problème semble venir de accueil.php. Est-ce que tu peux nous montrer le code contenu dans ce fichier ? Est-ce qu'il ne contiendrait pas par hasard :
include "index.php"
?
Bison a écrit :

Si tu regardes bien, j'ai préfixé tes pages avec un inc_


Question: A quoi ca sert de préfixer les pages ? C'est pour mieux les différencier des autres parce qu'elle ont pour but d'être "include" ?
Merci de votre réponse, et pardon de déraper du sujet...

Smiley cligne
Oui en autre...
On les repère du premier coup d'oeil en mettant un bâton de plus dans les roues du hacker Smiley cligne
Cet avis n'engage que moi, c'est une pratique que j'utilise couramment, permettant du premier coup d'oeil de repérer l'origine de la section appelée.