Include qui ne fonctionne pas ? - PHP - Programmation
Marsh Posté le 03-02-2004 à 09:02:26
quel est le message d'erreur?
le chemin vers les fichier à inclure est en relatif, donc si center est dans le rep includes, tu dois faire include('news.php').
Marsh Posté le 03-02-2004 à 12:19:19
Au passage tu passes 2 fois tes entêtes html. Un include n'est pas une frame. Enfin le problème ne vient pas de là.
Marsh Posté le 03-02-2004 à 12:38:07
C'est bon, je crois que j'ai trouvé. Apparemment ton index.php est dans le répertoire include cf: includes/index.php?page=home.
Tu dois donc faire des includes sans le includes dans le path puisque tous tes fichiers sont dans le même répertoire.
Marsh Posté le 03-02-2004 à 13:15:20
Relis bien tout jagStang, le problème est plus en amont. D'ailleurs en fait, on pouvait supposer à la base la structure générale suivante:
|
Et dans ce cas las réponse de dropsy est totalement fausse.
mais apparemment il a plutôt:
|
et dans ce cas la solution de dropsy est incomplète
Marsh Posté le 03-02-2004 à 18:52:21
Merci pour les réponsses.
En fait j'ai un dossier qui contient le dossier includes et le fichier index.php, la page d'erreur qui s'affiche c'est la page d'erreur de int quand il trouve pas la page recherchée, sinon c'est quand même bizarre, car la premiere page (home.php), il veut bien l'afficher la premiere fois (c'est la page par défaut), mais dès que je clique sur un lien pour n'importe quel page (comprit home.php), ça foire.
Cela pourrait-il être apache qui foire, si je me souvient bien, php quand je l'ai pris (y'a 2 mois), il m'aitait que c'était un peu une version beta pour apache 2 ?
==> belgique, tu veux dire quoi par je passe 2 fois les entêtes html ?
Marsh Posté le 03-02-2004 à 19:33:22
Un truc du genre ira mieux.
Enfin le fichier center n'est à mon sens pas très utile.
|
|
Dans ton code html quand tu disais href="includes/...." ça veut dire un fichier qui se trouve dans le répertoire include par rapport à ou tu te trouvais soit: includes/includes/...
Comme dit plus haut: les includes = copié collé.
T'auras donc dans ton fichier :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<body
<p><a href="includes/index.php?page=home">Home</a></p>
<p><a href="includes/index.php?page=news">News</a></p>
<p><a href="includes/index.php?page=articles">Articles</a></p>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
if ($_GET['page']=='home' || empty($_GET['page']) ) {include('includes/home.php');}
elseif ($_GET['page']=='news') {include('includes/news.php');}
elseif ($_GET['page']=='articles') {include('includes/articles.php');}
else {include('includes/404.php');}
?>
</body>
</html>
</body>
</html>
Marsh Posté le 03-02-2004 à 19:51:14
je suis le seul à avoir vu cette erreur ou quoi?
Code :
|
Marsh Posté le 03-02-2004 à 20:23:37
En fait j'ai comme répertoir :
Citation : |
Sinon pour le <body c'est quand j'ai supprimer les cadres pour la lisibilitée, et avec ou sans sa foire tjs.
Et pour le truc ou ont supprime center.php, je prefère laisser ce syteme car ça me semble plus clair.
Sinon y'aurait pas un autre programme (payant ou gratuit) genre apache qui gère le php en natif pour pouvoir tester avec ?
Marsh Posté le 03-02-2004 à 21:24:47
Bon alors il y a des fautes partout dans ce que j'ai dit
Citation : |
LE reste me semble bon dans ce que tu as mis à part les balises html.
Marsh Posté le 03-02-2004 à 08:23:54
Bonjours, je viens de me mettre aux includes pour la conception de mon site web.
Or les includes de marche pas, il n'y a que la premiere page qui s'affiche, et des que je clique sur un lien qui dois executer une include, ça m'affiche la page d'erreur d'int.
Voici le code source de la page index.php :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<body
<p><a href="includes/index.php?page=home">Home</a></p>
<p><a href="includes/index.php?page=news">News</a></p>
<p><a href="includes/index.php?page=articles">Articles</a></p>
<?php
include('includes/center.php');
?>
</body>
</html>
Normallement c'est dans un enssemble de cadre, mais même sans cadre ça foire donc pour une meilleur visibilitée je les ai enlevé.
Voici le code du fichier center.php :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
if ($_GET['page']=='home' || empty($_GET['page']) ) {include('includes/home.php');}
elseif ($_GET['page']=='news') {include('includes/news.php');}
elseif ($_GET['page']=='articles') {include('includes/articles.php');}
else {include('includes/404.php');}
?>
</body>
</html>
je suis sous apache 2.
y'a t'il une erreur dans le code source ?
Merci d'avance.
Siron