Un include dans un include??

val_lala Messages postés 50 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 18 décembre 2008 - 21 août 2007 à 14:54
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011 - 24 août 2007 à 18:57
Bonjour,
J'ai un petit soucis de include (a moins que ce soit une faute bete de lien...)
Voila je dois expliquer vite fait l'arborescense du site pour exposer mon probleme :

dossier x contient :
               |
               - header.php avec include ("./includes/SGBD_class.php");
               |
               --dossier admin > nouvo.php page avec un include (".././header.php");
              |

               --dossier includes > page SGBD_class.php

Voila mon probleme (j'espere que vous n'avez pas décroché!)
Ma page nouvo.php ne fonctionne pas car il ne trouve pas le fichier SGBD_class.php!!!
La page header.php fonctionne bien toute seule mais si je l'appelle d'un autre fichier (nouvo.php), ca ne marche plus!
Est-ce un probleme d'include ou bien de lien?
J'espere que vous aurez une solution à me proposer!
merci d'avance - val

14 réponses

raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
21 août 2007 à 15:04
Bonjour à toi,

Tente dans nouvo.php : include ("../header.php");
Si j'ai bien pigé l'architecture.
0
val_lala Messages postés 50 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 18 décembre 2008 1
21 août 2007 à 15:11
tout d'habord merci de repondre si rapidement!

oui, mais en réalité mon  include ("../header.php"); est bon car il va bien dans header.php mais une fois dans header.php il trouve plus SGBD_class.php...

alors que si je lance header.php aucun probleme de include!!

c'est etrange ou c'est normal??
0
raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
21 août 2007 à 15:21
header.php étant à la racine, pas besoin du ./ devant,

essaye en direct dans le header.php : include ("includes/SGBD_class.php");
0
val_lala Messages postés 50 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 18 décembre 2008 1
21 août 2007 à 15:37
ah merci!!  ca marche en parti, desormais il trouve bien SGBD_class.php... (c'eait donc un probleme bete)
mais j'avais simplifié mon arborescence...

mon fichier header.php appelle aussi : $oSmarty->display('header.tpl');
(jutilise des templates...)
et header.tpl ce trouve dans un dossier templates...

dossier x contient :
               |
               - header.php avec include ("./includes/SGBD_class.php");
               |
               --dossier admin > nouvo.php page avec un include (".././header.php");
              |
               --dossier includes > page SGBD_class.php
              |
               --dossier templates > page header.tpl

Si je met $oSmarty->display('templates/header.tpl'); ca ne marche pas!!
comment est ce que je peux faire?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
21 août 2007 à 15:46
C'est quoi se $oSmarty ?, il me semblait que c'était juste $smarty.

Mais peut être aussi que les templates ne peuvent pas être appelé de cette manière, si tu le mets à la racine à coté de header.php, est ce que ça marche ?
0
val_lala Messages postés 50 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 18 décembre 2008 1
21 août 2007 à 15:56
bon (re)merci de chercher avec moi!...

$oSmarty ca fait pareil que $smarty
et lorsqu'il est tout seul, il marche...
c'est juste quand je l'appelle du fichier nouvo.php qu'il ne le trouve pas.
et a vrai dire c'est le premier projet que je fait avec smarty et je ne sais pas si c'est possible!!
Mais bon a priori, il n'y a pas de raison je crois que qu"ils sont assez fort chez Smarty, ils ont bien du prévoir ca!!
un truc a ajouter par la je pense : $oSmarty->display('templates/header.tpl') ??

J'ai essayer de déplacer header.tpl mais ca ne fonctionne plus sur aucunes pages (le dossier templates fait partie de Smarty)
...
0
raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
21 août 2007 à 15:59
Ahhhhh t'était dans nouvo.php, ah bah là c'est normal que ca marche pas.

Si tu remet $oSmarty->display('../templates/header.tpl') dans nouvo.php est ce que ca marche ?
0
val_lala Messages postés 50 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 18 décembre 2008 1
21 août 2007 à 16:07
pff non! ca ne marche pas...
0
raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
21 août 2007 à 16:19
Tu risques d'être bloqué je le crains fort.

puisque dans nouvo.php, tu include header.php qui lui même fai l'include du template mais il arrive plus à comprendre ou il faut aller le chercher donc c'est la misère.
0
val_lala Messages postés 50 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 18 décembre 2008 1
21 août 2007 à 16:26
tu crois?
c'est un peu nul, parce que je suis dans un cas de figure classique!
je vais chercher dans la doc smarty encore...
merci raven...
0
val_lala Messages postés 50 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 18 décembre 2008 1
21 août 2007 à 16:28
bhas, tu crois?
Je suis pourtant dans un cas de figure classique...
Je vais continuer a regarder dans la doc smarty...
merci Raven...
0
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011
22 août 2007 à 20:47
Bonjour:
Pour les URL relatives: nomDuFichier.php recherche le fichier dans le même répertoire que celui qui l'appelle. Pour accéder à un répertoire plus bas c'est nomDuDossier/nomDuFichier.php.
Pour remonterles répertoires c'est ../ (autants que de répertoires que tu souhaites remonter ../../ , ../../../  etc ...
Comprend pas bien ce que fait ton moteur de templates dans le header ? ^^
Pourquoi tu le mets pas normallement sur la racine du site, et tu l'appelles tout simplement avec la page nouvo.php ?
0
val_lala Messages postés 50 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 18 décembre 2008 1
23 août 2007 à 08:32
mm! merci c'est vrai que pour acceder au repertoir j'essais toujours toute les solutions...
parfois je vois aussi des ./ avec un seul point et ca marche que comme ca...
du coup je sais jamais...
je ne comprend pas ce que tu appelle moteur de template!?
mais en faite j'ai la structure de mon site principal et je voulais la partie admin de la meme façon mais dans un dossier different...(et sans copier et donc dedoubler les partie header, footer...)
mais du coup j'ai habandonnée l'idée de mettre un dossier séparer de la partie admin!
(pour le moment) le projet etant en constante evolution rien est figé!
merci pour ton rapel sur les url, ca fait toujours du bien!
val
0
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011
24 août 2007 à 18:57
ton moteur de template c'est Smarty; c'est donc lui qui devrait générer le design et les parties "fixes" de ton site (dont les menus, headers, footers ...).
Il semblerait plus judicieux de le placer sur la racine, de ton site et d'en modifier le header, pour y placer ton code.
Forcément, tu restes dépendant de ce qui a déjà été écrit (mais en bénéficies aussi); par contre, pour la personnalisation il faudra t'approprier en partie le code...
0
Rejoignez-nous