Problème d'include en php 5 (marche en php 4) - PHP - Programmation
Marsh Posté le 28-12-2006 à 13:57:54
echo $_GET['page']; pour voir ce que contient cette variable.
Ca te permettra de savoir si le probleme se situe au niveau de la récupération des valeurs passées en argument ou si c'est un probleme d'include (chemin etc ...)
Marsh Posté le 28-12-2006 à 14:29:51
Ben justement si j'écris
if (isset($_REQUEST['page'])) {
echo($_REQUEST['page'].'.php'); // Nous appelons le contenu central de la page
}
;
ça m'affiche bien 'doc_admin.php'
donc ce n'est pas un problème de récupération des valeurs...
Marsh Posté le 28-12-2006 à 14:46:54
Et tu as bien sûr un fichier au nom correspondant à ton include ? Vérifie le include_path si php doit s'en servir pour trouver le fichier
Marsh Posté le 28-12-2006 à 14:57:35
Oui j'ai bien ce fichier...
et dans le include_path j'ai '.usr/share/pear'
a priori c'est normal !
Marsh Posté le 28-12-2006 à 15:12:38
Commence par remplacer include par require. Normalement t'aurais un warning avec include si t'as bien mis l'error_reporting à E_ALL, mais on ne sait jamais.
Marsh Posté le 28-12-2006 à 15:16:57
Le contenu du fichier inclu est-il présent dans la source du document HTML généré ?
Il peut etre présent dans la source mais ne pas apparaitre dans le navigateur a cause de style particulier ou pour plein d'autre raisons.
Marsh Posté le 28-12-2006 à 15:48:17
Non le script s'arrête avant l'include...
et aucun message d'erreur, car mon hébergeur a mis display_errors à off !!!
Marsh Posté le 28-12-2006 à 15:59:33
Tu peux tenter de l'activer avec ini_set, mais a priori ça t'empêchera toujours de voir les erreurs fatales... mais en laissant include() peut-être...
Marsh Posté le 28-12-2006 à 16:02:39
oui j'ai essayé ini_set('error_reporting', E_ALL) mais ça ne marche pas
Marsh Posté le 28-12-2006 à 16:03:56
Je parle du display_errors.
ini_set('display_errors', '1')
Marsh Posté le 28-12-2006 à 16:25:27
OK je viens de faire activer le DISPLAY_ERROR après un coup de fil à l'hébergeur, et en fait c'était une ligne <? echo ?> qui traînait dans le script appelé par l'include !!! bizarre cela n'a pas été signalé par l'interpréteur en php 4 !!
Merci à tous quand-même
Marsh Posté le 30-12-2006 à 12:06:16
Peut être parce qu'ils ont enfin un php.ini correcte qui n'accepte pas les shorts_tags
Marsh Posté le 30-12-2006 à 12:49:50
Tu feras gaffe toutefois, car ton script presente une faille. Il ne faut jamais faire des includes contenant des variables modifiables par quiconque ($_GET,$_REQUEST, etc..); ou alors blinder le truc avec une solide regexp.
Marsh Posté le 28-12-2006 à 13:52:53
Bonjour, j'utilise un système de pseudo-frame dans mon site de cette manière :
par ailleurs j'appelle cette page avec
En php 4 ça marche parfaitement (sur mon PC en local avec Easy PHP), mais dès que j'uploade sur le serveur la page appelée par $_REQUEST['page'] ne se charge pas ; le script s'arrête sans message d'erreur (j'ai pourtant positionné error_reporting à E_ALL.
Je coince là, avez-vous une idée ? j'ai changé $_REQUEST par $_GET mais ça ne résout rien...