He estado probando y amí me funciona propagando el sid por query string fuera de los foros
He puesto cuatro scripts que se llaman entre ellos(en plan cutre eso sí), y que incluyen el archivo que muestra el login/logout del foro
http://elotrositio.tuarrobanet.com/log1.php http://elotrositio.tuarrobanet.com/log2.php http://elotrositio.tuarrobanet.com/log3.php http://elotrositio.tuarrobanet.com/log4.php
El archivo que muestra el login/logout lo puse en la ruta del foro
http://elotrositio.tuarrobanet.com/foro/log.php
aqui están los código:
log1.php
Código PHP:
<?
define('IN_PHPBB', true);
$phpbb_root_path = 'foro/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
include($phpbb_root_path . 'log.'.$phpEx);
?>
log1<br>
<a href="log2.php?sid=<?=$userdata['session_id']?>">log2</a><br>
<a href="log3.php?sid=<?=$userdata['session_id']?>">log3</a><br>
<a href="log4.php?sid=<?=$userdata['session_id']?>">log4</a><br>
log2.php
Código PHP:
<?
define('IN_PHPBB', true);
$phpbb_root_path = 'foro/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
include($phpbb_root_path . 'log.'.$phpEx);
?>
<a href="log1.php?sid=<?=$userdata['session_id']?>">log1</a><br>
log2<br>
<a href="log3.php?sid=<?=$userdata['session_id']?>">log3</a><br>
<a href="log4.php?sid=<?=$userdata['session_id']?>">log4</a><br>
log3.php
Código PHP:
<?
define('IN_PHPBB', true);
$phpbb_root_path = 'foro/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
include($phpbb_root_path . 'log.'.$phpEx);
?>
<a href="log1.php?sid=<?=$userdata['session_id']?>">log1</a><br>
<a href="log2.php?sid=<?=$userdata['session_id']?>">log2</a><br>
log3<br>
<a href="log4.php?sid=<?=$userdata['session_id']?>">log4</a><br>
log4.php
Código PHP:
<?
define('IN_PHPBB', true);
$phpbb_root_path = 'foro/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
include($phpbb_root_path . 'log.'.$phpEx);
?>
<a href="log1.php?sid=<?=$userdata['session_id']?>">log1</a><br>
<a href="log2.php?sid=<?=$userdata['session_id']?>">log2</a><br>
<a href="log3.php?sid=<?=$userdata['session_id']?>">log3</a><br>
log4<br>
En estos cuatro script asignamos la ruta del foro respecto del actual script en phpbb_root_path (foro/ en mi caso) y propagamos identificador de sesión por query string.
Y en el script que se incluye y muestra el login/logout:
Código PHP:
<?
define('IN_PHPBB', true);
$log_in_out=( $userdata['session_logged_in'] ) ? ('<a href="'.$phpbb_root_path.'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id'].'&redirect=../log1.php">LOGOUT ['.$userdata['username'].']</a>') : ('LOGIN');
?>
<div align="center">
<?
print $log_in_out."<br /><br /><br />";
if (!$userdata['session_logged_in'])
{
?>
<form action="<?=$phpbb_root_path?>login.php" method="post">
<input type="hidden" name="redirect" value="../log1.php?sid=<?=$userdata['session_id']?>">
Usuario: <input type="text" name="username" size="10" /><br>
Contraseña: <input type="password" name="password" size="10" maxlength="32" /><br />
Entrar automáticamente en cada visita
<input class="text" type="checkbox" name="autologin" />
<input type="submit" class="mainoption" name="login" value="Login" />
</form>
</div><?=$a?>
<?}?>
redirecciona a ../log1.php cuando uno se desloguea o loguea, y omitimos todo este código:
Código PHP:
$phpbb_root_path = 'foro/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
ya que el archivo que llama a éste ya lo hace y sino daría error de función redeclarada etc.
A ver si te sirve de algo este ejemplillo.
Salu2 ;)