Récuperation d'un fichier par eval avec des variables en get

Petit nouveau ! | 5 Messages

24 févr. 2011, 12:40

Bonjour,

Je suis en train de réaliser une application scolaire en php.
Une sorte de CMS pour réaliser des albums, des abécédaires...

Je suis dans la phase de création d'une fonction pour exporter l'application en .html en vue d'en faire un CDROM pour les parents qui n'auront plus le moteur php pour consulter les travaux de leur cher(e) petit(e). Faire une version "statique" en somme.

Pour cela, je voudrai exécuter toutes mes pages avec la fonction eval et les enregistrer dans des fichiers .html

Mon problème est que je n'arrive pas à faire passer une variable GET à la page qui génère l'affichage final.
Voici le code que j'ai réalisé... et qui ne marche pas.

Code : Tout sélectionner

ob_start(); eval('?>' . file_get_contents('../index.php?rang=2').'<?php '); $html = ob_get_contents(); ob_end_clean(); ...traitement de $html...

Si quelqu'un connaît la réponse...

ViPHP
xTG
ViPHP | 7331 Messages

24 févr. 2011, 13:24

Ce que tu cherches à faire ne reviendrai pas à faire un simple include() ? ;)
Auquel cas toute variable présente dans ta page sera disponible dans ta page incluse.

Petit nouveau ! | 5 Messages

24 févr. 2011, 16:31

Tout d'abord, merci pour cette prompte réponse!

Et effectivement, ça marche... presque.

En fait, ce code fonctionne

Code : Tout sélectionner

ob_start(); include('../index.php'); $html = ob_get_clean();
Mais celui-ci, non.

Code : Tout sélectionner

ob_start(); include('../index.php?rang=2'); $html = ob_get_clean();
Je ne peux toujours pas transmettre la variable $rang au script index.php qui en a besoin pour savoir quoi sélectionner dans une base mysql.

Je ne comprends pas car dans la documentation (http://php.net/manual/fr/function.include.php), il semble que cela soit possible.

ViPHP
xTG
ViPHP | 7331 Messages

25 févr. 2011, 00:14

Auquel cas toute variable présente dans ta page sera disponible dans ta page incluse.
ob_start();
$rang = 2;
include('../index.php');
$html = ob_get_clean();

Petit nouveau ! | 5 Messages

25 févr. 2011, 00:46

Incroyable ! :D

Des fois, les choses sont si simples....

Un grand merci pour votre aide. =D>

La fonction include n'aura plus de secrets pour moi.

A bientôt