Pb d'affichage [Résolu]

Pb d'affichage [Résolu] - PHP - Programmation

Marsh Posté le 28-07-2005 à 08:18:36    

Salut,
 
En fait mon problème concerne l'affichage du code. Je m'explique.
 
Ma page principale inclus un certain nombre de pages php. Chacune de ces pages est une sorte de module regroupant un ensemble de fonctionalité. Chacune doit afficher des infos, et peut avoir besoin d'une redirection avec header(). Au départ (avant que j'ai besoin des header() en fait), dans chacun de mes includes je disposais mon code html comme ca :
 

Code :
  1. if (tu dois faire ca)
  2. { ?>
  3. <du html à la pelle>
  4. ...
  5. </du html à la pelle>
  6. <?php }


 
Le problème bien évidemment c'est qu'avec les headers ca marche pas cette histoire: si le premier module affiche quelque chose et que le second a besoin d'une redirection, ben c'est pas possible. Ma solution est de passer par des buffers texte: dans chaque include je remplis une variable avec mon affichage :
 

Code :
  1. $buffer="
  2. <du html à la pelle>
  3. ...
  4. </du html à la pelle>";


 
Puis dans ma page index, j'inclus tous mes modules et seulement après j'affiche les buffers. Comme ca pas de problème avec les headers. Mais voila, quand t'inclus le code html dans une variable texte en php, il te fait pas la coloration syntaxique et si sur quelques lignes de code c'est lisible, sur une centaine, ca devient vite chiant à lire...
 
Alors voila, si y'a une solution pour rendre ca un peu plus lisible, je suis preneur :)


Message édité par gooopil le 28-07-2005 à 09:02:39
Reply

Marsh Posté le 28-07-2005 à 08:18:36   

Reply

Marsh Posté le 28-07-2005 à 08:43:44    

Bonjour,
Il y a des fonctions de bufferisation prévues dans PHP :
http://fr2.php.net/manual/fr/ref.outcontrol.php

Reply

Marsh Posté le 28-07-2005 à 08:49:36    

Ben ouais je connais, mais je pensais que ca ne capturais que les echo ou print fais par le code php, pas les inclusions de code html comme ca...Tu confirmes que ca marche aussi pour ca ?

Reply

Marsh Posté le 28-07-2005 à 08:58:19    

Extrait de la DOC dont l'URL est dans le post précédent :

Citation :

Introduction
 
Les fonctions de bufferisation de sortie vous permettent de contrôler quand les données ont été envoyées par le script. Cela peut être utile dans certaines situations, notamment si vous devez envoyer des en-têtes au navigateur après avoir envoyé des données. Ces fonctions n'affectent pas les en-têtes envoyés par la fonction header() ou les cookies envoyés par setcookie(). Seules les fonctions telles que echo() et les données entre blocs PHP sont affectées.


 
Donc je dirais que si ça marche pas, il y a un bug dans PHP ;)


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 28-07-2005 à 09:02:18    

Mara's dad a écrit :

Extrait de la DOC dont l'URL est dans le post précédent :

Citation :

Introduction
 
Les fonctions de bufferisation de sortie vous permettent de contrôler quand les données ont été envoyées par le script. Cela peut être utile dans certaines situations, notamment si vous devez envoyer des en-têtes au navigateur après avoir envoyé des données. Ces fonctions n'affectent pas les en-têtes envoyés par la fonction header() ou les cookies envoyés par setcookie(). Seules les fonctions telles que echo() et les données entre blocs PHP sont affectées.


 
Donc je dirais que si ça marche pas, il y a un bug dans PHP ;)


 
J'avais lu trop vite donc :)
 
Merci  :jap:  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed