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

  FORUM HardWare.fr
  Programmation
  PHP

  Problème d'include en php 5 (marche en php 4)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème d'include en php 5 (marche en php 4)

n°1496593
weuw
Posté le 28-12-2006 à 13:52:53  profilanswer
 

Bonjour, j'utilise un système de pseudo-frame dans mon site de cette manière :

Code :
  1. <?
  2.   if (isset($_REQUEST['page'])) {
  3.    include($_REQUEST['page'].'.php');   // Nous appelons le contenu central de la page
  4.   }
  5. ;
  6. ?>


 
par ailleurs j'appelle cette page avec

Code :
  1. admin.php?page=doc_admin&sort=nom_doc


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

mood
Publicité
Posté le 28-12-2006 à 13:52:53  profilanswer
 

n°1496596
afbilou
pouet your life
Posté le 28-12-2006 à 13:57:54  profilanswer
 

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

n°1496604
weuw
Posté le 28-12-2006 à 14:29:51  profilanswer
 

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

n°1496616
naceroth
Posté le 28-12-2006 à 14:46:54  profilanswer
 

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

n°1496621
weuw
Posté le 28-12-2006 à 14:57:35  profilanswer
 

Oui j'ai bien ce fichier...
 
et dans le include_path j'ai '.:/usr/share/pear'
a priori c'est normal !

n°1496634
sielfried
Posté le 28-12-2006 à 15:12:38  profilanswer
 

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.

n°1496637
afbilou
pouet your life
Posté le 28-12-2006 à 15:16:57  profilanswer
 

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.

n°1496668
weuw
Posté le 28-12-2006 à 15:48:17  profilanswer
 

Non le script s'arrête avant l'include...
et aucun message d'erreur, car mon hébergeur a mis display_errors à off !!!

n°1496675
sielfried
Posté le 28-12-2006 à 15:59:33  profilanswer
 

[:pingouino]  
 
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...

n°1496678
weuw
Posté le 28-12-2006 à 16:02:39  profilanswer
 

oui j'ai essayé ini_set('error_reporting', E_ALL) mais ça ne marche pas :(

mood
Publicité
Posté le 28-12-2006 à 16:02:39  profilanswer
 

n°1496680
sielfried
Posté le 28-12-2006 à 16:03:56  profilanswer
 

Je parle du display_errors.
 
ini_set('display_errors', '1')


Message édité par sielfried le 28-12-2006 à 16:04:27
n°1496693
weuw
Posté le 28-12-2006 à 16:25:27  profilanswer
 

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

n°1497291
leflos5
On est ou on est pas :)
Posté le 30-12-2006 à 12:06:16  profilanswer
 

Peut être parce qu'ils ont enfin un php.ini correcte qui n'accepte pas les shorts_tags ;)

n°1497298
jbh_cg
Posté le 30-12-2006 à 12:49:50  profilanswer
 

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.
 


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

  Problème d'include en php 5 (marche en php 4)

 

Sujets relatifs
Detection Flash : Probléme sous IEproblème jointure externe.
Probleme de code pour vérifier le statut d'un serveurprobleme avec fgets
[Résolu] Bien sur IE, probleme sur Firefox[Java-Corba] Problème de cast
Probleme de compilation librairie pthread[Résolu] Javascript / AJAX - Problème de réponse de requete
Probleme requete[php3-Free] problème d'include qui marche mal
Plus de sujets relatifs à : Problème d'include en php 5 (marche en php 4)


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