Header : redirection incorrecte

Eléphant du PHP | 226 Messages

30 sept. 2009, 15:42

Bonjour,

J'ai un header dans un fonction de gestion des erreurs. Cet header renvoie l'utilisateur vers une page d'erreur en cas de problème... Cette fonction est bien sûr appelée sur différents fichiers dans l'arborescence. Le souci étant selon le fichier dans lequel est utilisée cette fonction, le chemin de la page d'erreur est faussé, puisque le fichier appelant se trouvant à un autre endroit de l'arborescence. Pour être plus concret, je vais donner des exemples (fonctions.php étant le fichier contenant la fonction de gestion des erreurs)
Pour l'index du site : index.php --> files/systeme/fonctions.php. Le chemin du header est le même à ce niveau :files/systeme/erreur.php (écrit en dur)
Pour un fichier se trouvant dans l'arborescence : adminIndex.php --> le chemin sera : ../systeme/fonctions.php, mais pour le header, comment lui faire prendre ce même chemin ?
merci,
«Le matin, quand il t’en coûte de te réveiller, que cette pensée te soit présente: c’est pour faire œuvre d’homme que je m’éveille.»
Marc Aurèle.

ViPHP
ViPHP | 2291 Messages

30 sept. 2009, 15:53

Salut,
En lui indiquant le chemin complet simplement :wink:
Ou avec $_SERVER['DOCUMENT_ROOT']
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Mammouth du PHP | 985 Messages

30 sept. 2009, 15:59

Meilleur méthode à mon avis pour tous les fichiers include() ou require()...:
Exemple:
$chemin = '/home/www/includes/fonctions.php';
(le chemin du fichier sur le serveur et non l'url donc...)

C'est à dire non seulement le chemin complet mais aussi le chemin réel du fichier.

Ps: pour le trouver utilise le code à Dumbar :wink:
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 226 Messages

01 oct. 2009, 14:14

Bonjour,

Oui, c'est vrai. Pourquoi faire compliqué quand on peut faire simple...
merci pour vos réponses.
«Le matin, quand il t’en coûte de te réveiller, que cette pensée te soit présente: c’est pour faire œuvre d’homme que je m’éveille.»
Marc Aurèle.