Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Pages : 1
Bonjour, tout d'abord félicitations pour toute la communauté française de PunBB, pour les docs et l'ambiance
Voilà je souhaiterais pousser l'intégration du forum dans mon site en permettant le login depuis n'importe qu'elle page, cela fonctionne parfaitement sauf sur la page d'index.
Cette page utilise un CMS, qui permet de gérer du contenus (ici des "news"), et là cela pose problème car en faisant l'include une fonction message() est déjà défini.
Est ce que quelqu'un a une idée de solution ? Surdéfinir la fonction ( je ne sais pas si c'est possible en php
)
Merci d'avance de vos réponses 
Hors ligne
oui c'est le problème des scripts sans class (comme punbb) : on risque les conflits de nommage et visiblement c'est ce qui t'arrive
la solution ? j'en voit qu'une : renommer la fonction soit sur punbb soit sur ton cms et donc tous les appels de cette fonction dans le script
pas super super ouais
Hors ligne
Au vu de ce qu'il faut modifier ce n'est pas réalisable ...
Ne serait-ce pas plus simple de n'integrer que les éléments necessaires au login sur mes pages "externe" au forum ?
Hors ligne
9 Mois plus tard 
Bonour Je cherche toujour une solution.
J'ai réussi à contourner le problème de message().
Maitenant il ce pose un autre problème:
"Fatal error: Call to a member function on a non-object in forum/include/functions.php on line 117"
La variable en question est $DB.
J'aimerais donc savoir qu'est-ce qui peut faire qu'une variable ne soit pas déclarée globale automatiquement ?
Dernière modification par Guillaume (04-07-2006 13:06:03)
Hors ligne
je comprend pas la question
Hors ligne
Désolé, j'exprimais le questionnement d'un ami qui me donne un coup de main et j'ai mal saisi sa question:
comment cela se fait que $db ne soit pas une variable globale, vu comment elle est déclaré, elle devrait l'être.
En faite on cherche à trouver ce qui fait que sur les pages où le cms est en place la variable n'est plus globale, tandis que sur les pages sans cms cette variable est bien global.
Dernière modification par Guillaume (04-07-2006 13:51:35)
Hors ligne
sans doute parce que dans le CMS il y a une fonction de protection qui détruit les variables globales
Hors ligne
attend tu peut me la refaire sans les commentaires et clairement parce que là c'est des hiérogliphes 
est-ce que tu as essayé d'afficher les erreurs PHP ?
@ini_set('display_errors','on');
error_reporting(E_ALL);Hors ligne
le init_set permet d'activer l'affichage des erreurs si jamais ce n'est aps le cas mais il faut aussi régler le niveau d'erreur à afficher, donc la deuxième ligne
euh sinon ça :
echo "db='$db', GLOBALS['db']='$GLOBALS['db']'\n";ça devrait t'afficher une "Parse error"
mais admetons que je mette ça dans une page test :
<?php
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
echo 'db2='.$db2.', GLOBALS[\'db2\']='.$GLOBALS['db2']."\n";
$db2 = new DBLayer($db_host, $db_username, $db_password, $db_name, $db_prefix, $p_connect);
echo 'db2='.$db2.', GLOBALS[\'db2\']='.$GLOBALS['db2']."\n";
?>j'obtiens bien :
db2=, GLOBALS['db2']=
db2=Object, GLOBALS['db2']=Object
après j'pense qu'il y a une couille plus haut mais que les erreurs ne sont pas affichées
Hors ligne
Pages : 1