Probleme avec un include [Résolu]

Signaler
Messages postés
121
Date d'inscription
mardi 9 août 2005
Statut
Membre
Dernière intervention
18 décembre 2007
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
Bonjour tout le monde,
J'ai un petit soucis avec la fonction include()

index.php
identification.php
metier
      Personnes.class.php
integration
      DAOPersonnes.class.php
gestion
      gestion.php

depuis la page identification.php, je fais appel à la page Personnes.php: 
include("metier/Personnes.class.php");
depuis la page gestion.php, je fais appel à la page Persones.php:
include("../metier/Personnes.class.php");
depuis la page Personnes.class.php, je fais appel à la page DAOPersonnes.class.php:
include ("../integration/DAOPersonnes.class.php");

Sur la page identification.php, j'ai le message d'erreur:
Warning: main(../integration/DAOPersonnes.class.php) [function.main]: failed to open stream: No such file or directory in /Sites/Web1/metier/Personnes.class.php on line 2

et si dans la page Personnes.class.php, je fais appel a la page DAOPersonnes.class.php:
include ("../integration/DAOPersonnes.class.php"); Alors j'ai plus d'erreur dans la page identification.php, mais j'ai un message d'erreur sur la page gestion.php:
Warning: main(./integration/DAOPersonnes.class.php) [function.main]: failed to open stream: No such file or directory in /Sites/Web1/metier/Personnes.class.php on line 2

Je suis un peu perdu, 
Et merci de votre aide.

      

5 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,

sinon tu peux jeter un oeil du côté de $_SERVER['DOCUMENT_ROOT'], comme ça tu inclueras toujours tes fichiers d'une manière absolue.

a +
Messages postés
385
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
21 août 2015
4
salut
le prob c'est que la premiere include est de la repertoire racine (ou se trouve l'index)
donc pour l'instant la repertoire courante est la racine.
-tu va appellé metier/Personnes.class.php (po de prob)

-depuis la page personnes.class.php tu fais appel a la repertoire ../integration/DAOPersonnes.class.php

alors tu doit faire plutot integration/DAOPersonnes.class.php

car le repertoire courant est tjrs la racine
meme chose pour l'autre
metier/Personnes.class.php( si tu met les .. alors yaura une erreur c normal)

allé teste et repond moi si ca marche

Messages postés
121
Date d'inscription
mardi 9 août 2005
Statut
Membre
Dernière intervention
18 décembre 2007

Merci amezghal pour ton aide,
dans les classes Personnes (Personnes.class.php) j'ai enlevé les ..:
include("integration/DAOPersonnes.class.php");

j'ai plus de message d'erreur en ce qui concerne la page identification.php
mais j'ai toujours le message d'erreur dans la page gestion.php
Warning: main(integration/DAOPersonnes.class.php) [function.main]: failed to open stream: No such file or directory in /Sites/Web1/metier/Personnes.class.php on line 2

Warning: main() [function.include]: Failed opening 'integration/DAOPersonnes.class.php' for inclusion (include_path='.:/usr/lib/php/:/usr/share/pear/') in /Sites/Web1/metier/Personnes.class.php on line 2

J'ai oublié de preciser tt a l'heure que la page gestion.php est appellée par une page index.php qui se trouve dans le meme rep:

index.php
identification.php
metier
      Personnes.class.php
integration
      DAOPersonnes.class.php
gestion
      index.php
      gestion.php

Merci pour ton aide
Messages postés
385
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
21 août 2015
4
puisque gestion.php n'est poas appelé par un fichier de la racine alors
malgré qu"il est appelé par index.php(meme repertoire)
alors
pour gestion.php
include ("../integration/DAOPersonnes.class.php");

teste et repond
Messages postés
121
Date d'inscription
mardi 9 août 2005
Statut
Membre
Dernière intervention
18 décembre 2007

Mon probleme c'est que la page gestion.php appelle la page Personnes.class.php
la page DAOPersonnes.class.php est appellée par Personnes.class.php
donc je ne peux pas faire ce que tu proposes

J'ai trouvé une solution: J'ai mis le fichier identification.php et pour appeller les differentes classes je mets include("../metier/Personnes.class.php") par exemple;
et pour l'instant j'ai pas de message d'erreur.

Merci comme meme pour ton aide.