Weer 'ns een vraag van mij... Ik ben bezig het phpBB sessie systeem in een site te integreren zodat ze daar maar een keer hoeven in te loggen voor de hele site. Dat gaat tot nu toe allemaal erg voorspoedig, als standaard "bovenkant" van elke file gebruik ik dit:
Code: Selecteer alles
<?php
define('IN_PHPBB', true);
$phpbb_root_path = '../forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include '../header.php';
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
In een aantal (misschien zelfs alle) bestanden in de includes map wordt gechecked of de bestanden die het bestand in de includes map include'n ook deze regel in hun bestand hebben staan:
define('IN_PHPBB', true);
Als dat er niet in staat krijg je dan die foutmelding, nu echter heb ik ook in elk bestand wat ik integreer dit regeltje geplakt. Maar het lijkt niet goed te werken, al heb ik een vermoeden waar het aan ligt, namelijk aan de directorystructuur. Omdat dit wat ingewikkeld in elkaar zit heb ik een in het bestand header.php die op elke pagina wordt geincluded de volledige url naar het phpBB forum opgenomen ipv ../forum/.
Voorbeeld:
Code: Selecteer alles
define('IN_PHPBB', true);
$phpbb_root_path = 'http://www.site.nl/forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
Maar in de header.php worden ook bestanden geincluded voor phpBB, als ik gewoon /forum/ zal aangeven zal op een pagina als /algmeen/inloggen.php gezocht worden naar het bestand /algemeen/forum/common.php als ik de standaard header gebruik. Deze bestanden bestaan dus niet, en om een foutmelding hierover te voorkomen heb ik dus de hele url in de header.php opgenomen.
Echter geeft ie, volgens mij daardoor, deze foutmelding, ik kan natuurlijk in elk bestand die check weghalen die zoekt naar define('IN_PHPBB', true); ... maar dat lijkt me wat onnodig, ik hoop namelijk dat er een andere oplossing voor dit probleem is, ik weet alleen nog niet welke en hoe, kan iemand me hier mee helpen?
