Multiple problème d'includes.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Multiple problème d'includes.

Re: Multiple problème d'includes.

par xTG » 27 mars 2011, 19:40

Il n'y a pas de différence d'ajout.
C'est juste qu'avec l'ob cela te permet d'inclure ton fichier, de faire quelque chose puis d'afficher ce qu'à affiché ton fichier inclut.

Re: Multiple problème d'includes.

par piotrowski-s » 27 mars 2011, 17:56

j'ai réussi a faire ce que je voulais, finalement je suis passé par l'enregistrement dans un fichier tiers. Merci à vous pour vos promptes réponses.
ça m'a bien aidé. Mais j'ai pas vu de différence entre une include classique et la fonction ob()

Re: Multiple problème d'includes.

par xTG » 27 mars 2011, 09:44

Oui car tu fais des echo d'un code PHP en fait dans ton fichier.
Pourquoi ne pas stocker le code en brut ? Je comprends pas la démarche. :/

Re: Multiple problème d'includes.

par piotrowski-s » 26 mars 2011, 21:10

bon j'ai bien réussi, l'include se fait mais il ne fait qu'afficher le code généré mais ne l'exécute pas, comme dans l'include classique précédente du début que j'avais fait.

Re: Multiple problème d'includes.

par piotrowski-s » 26 mars 2011, 20:51

d'accord je comprends mieux, mais je ne sais pas du tout comment l'exploiter.

Re: Multiple problème d'includes.

par xTG » 26 mars 2011, 20:44

Ce code te permet de faire l'include mais d'afficher plus loin dans le code ce qui est renvoyé par le contenu de cet include.
En gros charger ce que devrait afficher le fichier dans une variable.

Re: Multiple problème d'includes.

par piotrowski-s » 26 mars 2011, 20:07

ce code ci
ob_start();
include("fichier.php");
$contenu = ob_get_clean();
echo $contenu;
je le met à la place de mon include dans le fichier qui appel le code généré?

Re: Multiple problème d'includes.

par piotrowski-s » 26 mars 2011, 20:03

je vais étudier cela, mais comment l'intégrer à mon code?

Re: Multiple problème d'includes.

par xTG » 26 mars 2011, 19:40

Plutôt que de faire un eval je te conseillerai plutôt de coupler include() avec la gestion des buffer qui est plus propre.
ob_start();
include("fichier.php");
$contenu = ob_get_clean();
echo $contenu;

Re: Multiple problème d'includes.

par piotrowski-s » 26 mars 2011, 16:32

c'est pour de l'autogestion. pour que mon père puisse mettre a jour son site sans toucher au code j'utilise un wysiwyg et les autres cms ne permettent pas de toucher au design, le wysiwyg enregistre sur la bdd et ce code doit generé. mais pour l'enregistrer je sais pas.

Re: Multiple problème d'includes.

par moogli » 26 mars 2011, 16:22

salut,

a tu vérifier le contenu de generator.php ?

je ne vois pas l'utilité d'un tel système pour réaliser un système de pseudo frame :/

Avec une simple requête sql en fonction de $_GET['page'] s'il y a un retour tu inclus la page sinon la page d’accueil :)


@+

Re: Multiple problème d'includes.

par piotrowski-s » 26 mars 2011, 15:55

J'ai pas réussi. j'ai fait ça
<?php
$fp=fopen("generator.php", "w"); //ouverture du fichier en mode écriture, création du fichier s'il n'existe pas.
fwrite($fp,"<?php 
echo "<?php\n";
echo "if (!isset(\$_GET['page'])) \$page= 'accueil'; else \$page= \$_GET['page'];\n ";
echo "switch(\$page)\n";
echo "{\n";
echo "case 'accueil': include ('accueil.html');break;\n";

// on crée la requête SQL
$sql = 'SELECT name_category, name_file FROM contenu';

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
    {
    // on affiche les informations de l'enregistrement en cours
echo "case '" .$data['name_category']. "': include ('" .$data['name_file']. ".html');break;\n";   
 
    }

// on ferme la connexion à mysql
mysql_close();

echo "}\n";
echo "?>\n";
 
?>"); // insert le texte: Un texte dans votre fichier.
?> 
mais ça me donne pas le résultat attendu :s

Re: Multiple problème d'includes.

par piotrowski-s » 26 mars 2011, 15:37

oui merci beaucoup car la fonction dont vous me parlez m'est totalement inconnue (eval)

Re: Multiple problème d'includes.

par Ryle » 26 mars 2011, 15:23

Vouip, tu peux tout à fait générer un fichier php à inclure :)
(faudra quand même remplacer tes echo vu que le but n'est pas d'afficher, mais de stocker)

Re: Multiple problème d'includes.

par piotrowski-s » 26 mars 2011, 15:14

et si je fais un enregistrement dans un fichier tiers de l'echo et que je fais une include dans le fichier principal?