Il y a quelque jours, il y avait eu une discussion concernant l'accès aux variables POSt dans un filtre. On avait également discutée sur le problème du cache...
j'ai donc réfléchie à la question et je vous livre une petite synthèse de la manière dont j'ai procédé.
Tout d'abord les problèmes vitaux :
-faire un filtre où les variable envoyé par POST puissent être utilisé
-avoir une gestion efficace du cache.
J'ai donc procédé de la manière suivante :
-tout d'abord un squelette qui va faire les requêtes mysql, sur lequel on n'applique aucun filtre. Ce squelette contient un code du type suivant <code><BOUCLE_article (ARTICLES) {id_article}><? $texte='[(#TEXTE||texte_script)]'?></BOUCLE_article></code> => c'est un squelette tout ce qu'il y a de plus classique, à l'exception de l'intervention du php, peu courante -> la base mysql n'est pas appelé à chaque fois que l'on appelle cet page grâce au cache
-le squelette "principal" qui correspond au fichier .php3 appelée par la personne qui consulte le site. Dans ce squelette, on fait un inclure du fichier.phP3 appelant le squelette cité plus haute (exemple <code><INCLURE (grille.php3) {id_article}></code> -> il y aura donc une variable $texte calculé par l'autre squelette. Ensuite, pour ce qui est de la gestion du filtre avec variable POST, j'ai mis le code suivant : <code><?echo grille($texte,'[(#SELF||texte_script)]',$HTTP_POST_VARS)?> . </code>Dans la définition de ma fonction je prévois un variable correspondant au tableau $HTTP_POST_VARS mais pouvant être appelé autrement. (le passage de la balise self n'est pas indispensable, mais pour le filtre que je fait c'est indispensable).
Qu'en pensez vous ?
Maïeul