Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Sur une page extérieure au forum, je souhaite afficher les dernières discussions du forums.
Pour ma part, j'ai utilisé ce code (que j'ai trouvé sur punbb.fr) à l'endroit où je voulais afficher les dernières discussions:
<?php
define('PUN_ROOT', './forums/');
$_GET["action"] = "active";
$HTTP_GET_VARS["action"]="active";
$_GET["show"] = "10";
$HTTP_GET_VARS["show"]="10";
$_GET["fid"] = "9,7,12,13,8,15";
$HTTP_GET_VARS["fid"]="9,7,12,13,8,15";
include("/home/www/xxxxxx/www/forums/extern.php");
?>Cela marche parfaitement.
Mais voilà, je souhaite faire une autre inclusion (mais avec fid 14 et 21) mais à un autre endroit sur la page.
Le code ci-dessus placé à un autre endroit engendre ceci:
Fatal error: Cannot redeclare escape_cdata() (previously declared in /home/www/xxxxxx/www/forums/extern.php:164) in /home/www/xxxxxx/www/forums/extern.php on line 167D'après mes recherches sur le forum, cela est normal car on ne peut pas appeler deux fois la même chose.
Que dois-je faire pour que cela fonctionne? Avez-vous une piste à me fournir?
D'avance, merci.
Dernière modification par Matt (15-12-2006 16:03:41)
Hors ligne
Ce n'est pas d'inclure le fichier deux fois qui pose problème, c'est de déclarer deux fois la fonction escape_cdata() (une fois à chaque inclusion). Il va donc falloir regarder dans extern.php (peut-être mettre une condition sur la déclaration de cette fonction...)
=> Plugins | Modifications | Liens utiles <=
.._ -Pandark- _..
Serial Dreamer
Hors ligne
Je vais essayer de fouiner dans les manuels de PHP parce que je n'y connais pas grand chose!
Si quelqu'un sait comment faire, n'hésitez pas!
Merci Pandark.
Hors ligne
Bon, je ne m'en sors pas, trop complexe pour moi! 
Hors ligne
Bonsoir, j'ai vraiment besoin de votre aide! Je suis complètement bloqué.
Mon hébergeur a des problèmes avec les appels d'url et il me demande de faire des "includes standards"...
Un include de ce style me pose maintenant des problèmes (alors qu'avant non):
<?php include('http://www.sessionsdesurf.net/forums/extern.php?action=active&show=8&fid=9,7,12,13,8,15'); ?>Dernière modification par Matt (07-01-2007 21:16:30)
Hors ligne
Chez Wam
Message tapé en Bépo avec un TypeMatrix 2030 USB 
Hors ligne
Oups, je corrige mon message précédent. C'est plutôt ceci:
http://www.sessionsdesurf.net/forums/ex … 12,13,8,15
Hors ligne
Utilises une URL relative, je pense que c'est ça qui bloque.
Chez Wam
Message tapé en Bépo avec un TypeMatrix 2030 USB 
Hors ligne
Si je veux afficher l'include sur ma page "index.php", quel sera l'adresse relative de "extern.php" (les deux fichiers étant dans le dossier "forums")?
Hors ligne
tout simplement [c]extern.php?toutlereste[/c]
(s) MT
ex-Apupv
:faq: :recherche:
Gra.
Hors ligne
Un peu HS, $HTTP_GET_VARS n'existe plus normalement.
Supprimes les lignes qui comportent $HTTP_GET_VARS.
Hors ligne
tout simplement [c]extern.php?toutlereste[/c]
Bizarre, je ne peux pas mettre d'adresse relative dans mes includes. 
Hors ligne
Merci pour vos réponses.
J'ai enlevé les lignes comportant les $HTTP_GET_VARS.
Mais c'est bien le problème souligné par Pandark qui persiste.
Ce n'est pas d'inclure le fichier deux fois qui pose problème, c'est de déclarer deux fois la fonction escape_cdata() (une fois à chaque inclusion). Il va donc falloir regarder dans extern.php (peut-être mettre une condition sur la déclaration de cette fonction...)
<?php include ("http://www.sessionsdesurf.net/forums/extern.php?action=active&show=8&fid=9,7,12,13,8,15"); ?>Avec plusieurs includes comme ci-dessus tout fonctionne... mais mon hébergeur me demande d'éviter les appels d'url.
<?php
define('PUN_ROOT', '');
$_GET["action"] = "active";
$_GET["show"] = "10";
$_GET["fid"] = "9,7,12,13,8,15";
include("/home/www/xxxxxxxxxxx/www/forums/extern.php");
?>Avec plusieurs include comme ci-dessus, une seul liste s'affiche et le reste engendre des erreurs Cannot redeclare escape_cdata().
Quelle est la condition à créer sur la déclaration de cette fonction?
Hors ligne
Je pense que là où il y a marqué [c]function escape_cdata($machin, $truc) { ... }[/c]
tu pourrais mettre un truc dans le style :
if (!defined(escape_cdata())
{
function escape_cdata($machin, $truc) { ... }
}(s) MT
ex-Apupv
:faq: :recherche:
Gra.
Hors ligne
Merci MT.
J'ai essayé ton astuce... malheureusement, elle entraîne ensuite une autre erreur comme Cannot redeclare check_cookie(). Si je fait la même manip sur la fonction check_cookie(), elle engendre une autre erreur et ainsi de suite.
Argh!!!
Hors ligne
Est-ce que par hasard, tout en haut de ton code, tu n'inclurais pas common.php ?
Dans ce cas là, essaye de remplacer le [c]require PUN_ROOT.'include/common.php'[/c] par [c]require_once PUN_ROOT.'include/common.php'[/c]
(s) MT
ex-Apupv
:faq: :recherche:
Gra.
Hors ligne
Bonsoir!
MT, non, je n'ai pas inclus common.php.
En ce moment, j'effectue les tests sur une page vierge donc pas de common.php.
Hors ligne
Bonjour,
décidément, je n'y arrive pas... avez-vous des idées pour m'aider?
Hors ligne
J'essaie d'avancer mais ça bloque...
Dans forums/include/user/ j'ai créé un fichier tableau2.php dans lequel j'ai mis le code ci-dessous:
<?php define('PUN_ROOT','../../');
$_GET["action"] = "active";
$_GET["show"] = "18";
$_GET["fid"] = "9,7,12,13,8,15,16,17,18,20,4,22,23";
include("/home/www/xxxxxx/www/forums/extern.php");
?>Cela fonctionne très bien quand j'affiche directement la page forums/include/user/tableau2.php.
Ensuite, dans forums/include/template/main.tpl, j'ai placé <pun_include "tableau.php"> avant <pun_main>... et là, bug! L'include ne fonctionne plus.
Où me suis-je planté?! 
Hors ligne
Sur PunBB.org, on m'a donné l'astuce suivante: au lieu d'utiliser un include, on peut utiliser un cURL (ne me demandez pas ce que c'est, je n'en sais rien!
).
En tout cas, on peut apparemment se passer de allow_include_url grâce à un cURL.
Donc pour ceux qui ne peuvent pas faire d'appels d'url, il faut faire comme cet exemple:
<?php
$cp = curl_init("http://www.sessionsdesurf.net/forums/extern.php?action=active&show=10&fid=9,7,12,13,8,15");
curl_exec($cp);
?>Et de ce fait, je peux dispatcher ces cURL où je veux sur mon site.
Avant d'apposer un [Résolu] sur cette discussion, j'attends d'avoir la confirmation qu'on peut réellement se passer de allow_include_url avec un cURL.
Hors ligne
YESSSSSSSs
MERCI pour cette astuce 
ca fais trois jours que je cherche a afficher avec extern.php 
et avec ca ca marche encore merci 
C'est déjà assez triste de n'avoir rien à dire 
Si en plus il fallait se taire 
Hors ligne
Pages : 1