Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1645 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Include qui ne fonctionne pas ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Include qui ne fonctionne pas ?

n°629264
Siron
Posté le 03-02-2004 à 08:23:54  profilanswer
 

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 :

Citation :


<!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 :

Citation :


<!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

mood
Publicité
Posté le 03-02-2004 à 08:23:54  profilanswer
 

n°629285
dropsy
et bonne chance surtout...
Posté le 03-02-2004 à 09:02:26  profilanswer
 

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').

n°629510
belgique
Posté le 03-02-2004 à 12:19:19  profilanswer
 

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à.

n°629516
jagstang
Pa Capona ಠ_ಠ
Posté le 03-02-2004 à 12:26:55  profilanswer
 

l'include s'apparente à du copier/coller. penses-y !

n°629527
belgique
Posté le 03-02-2004 à 12:38:07  profilanswer
 

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.

n°629530
jagstang
Pa Capona ಠ_ಠ
Posté le 03-02-2004 à 12:39:49  profilanswer
 

belgique --> lire la réponse de dropsy

n°629591
belgique
Posté le 03-02-2004 à 13:15:20  profilanswer
 

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:


index.php
+includes
|-center.php
|-news.php
|-....


Et dans ce cas las réponse de dropsy est totalement fausse.
mais apparemment il a plutôt:
 


+includes
|-index.php
|-center.php
|-news.php
|-....


et dans ce cas la solution de dropsy est incomplète :p


Message édité par belgique le 03-02-2004 à 13:16:57
n°630029
Siron
Posté le 03-02-2004 à 18:52:21  profilanswer
 

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 ?

n°630069
belgique
Posté le 03-02-2004 à 19:33:22  profilanswer
 

Un truc du genre ira mieux.
Enfin le fichier center n'est à mon sens pas très utile.


<!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('center.php');  
?>
</body>
</html>


 


<?php
if ($_GET['page']=='home' || empty($_GET['page']) ) {include('home.php');}
elseif ($_GET['page']=='news') {include('news.php');}
elseif ($_GET['page']=='articles') {include('articles.php');}
else {include('404.php');}
?>
 


 
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>  
 
 
 
 


Message édité par belgique le 03-02-2004 à 19:36:56
n°630091
drasche
Posté le 03-02-2004 à 19:51:14  profilanswer
 

je suis le seul à avoir vu cette erreur ou quoi?
 

Code :
  1. <body


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
mood
Publicité
Posté le 03-02-2004 à 19:51:14  profilanswer
 

n°630095
belgique
Posté le 03-02-2004 à 20:00:41  profilanswer
 

En effet vu que tout le monde regardait le code php :D

n°630116
Siron
Posté le 03-02-2004 à 20:23:37  profilanswer
 

En fait j'ai comme répertoir :

Citation :


dossier/:
          index.php
          includes/:
                    home.php
                    news.php
                    404.php
                    articles.php
                    center.php


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 ?

n°630263
belgique
Posté le 03-02-2004 à 21:24:47  profilanswer
 

Bon alors il y a des fautes partout dans ce que j'ai dit
 

Citation :


<!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="index.php?page=home">Home</a></p>
<p><a href="index.php?page=news">News</a></p>
<p><a href="index.php?page=articles">Articles</a></p>
<?php  
include('includes/center.php');  
?>
</body>
</html>


 
 
LE reste me semble bon dans ce que tu as mis à part les balises html.


Message édité par belgique le 03-02-2004 à 21:25:08

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Include qui ne fonctionne pas ?

 

Sujets relatifs
Quel différence entre Require() et Include() ?Include ne fonctionne pas, Problème PHP je pense « HELP
[PHP] include et class : petite question[PHP] bug avec include
MyOleDb - SELECT MAX(id) FROM table ne fonctionne pas...Récupérer le contenu d'un fichier distant. readfile(), include().
fonction include()Petit probleme; pas de php => pas d'include. Que choisir ?Framset ?
Comment fonctionne un jeu en 3D ?[PHP] très débutant : include qui fonctionne pas ? [Updated]
Plus de sujets relatifs à : Include qui ne fonctionne pas ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR