Сессии phpBB не переносятся со страницы на страницу

У меня есть веб-сайт (расположенный в корневом каталоге) с форумом, расположенным в ./forum/

Я успешно интегрировал сеансы phpBB в индекс своего веб-сайта, используя следующие коды:

На моей индексной странице перед <html>:

<?php include_once("include/phpbb.php");
// check for logout request
$cp = $_GET['cp'];
// is it a logout? then kill the session!
if ($cp == "logout") {
$user->session_kill();
$user->session_begin();
echo "Successfully Logged Out.";
}
?>

phpbb.php:

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH :  './forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
?>

Отображение информации - это в header.php, который включен в мой индекс:

<?php
// Page login notice
if ($user->data['user_id'] == ANONYMOUS)
{
?>

<img src="forum/images/avatars/gallery/noavatar.png" style="float:left; width:72px; height:72px;">
<div class="login">
    <form method="POST" action="forum/ucp.php?mode=login">
    <ul><li><span>Username:</span> <input class="loginfield" type="text" name="username" size="20"></li>
        <li><span>Password:</span> <input class="loginfield" type="password" name="password" size="20"></li>
        <li>Remember Me? <input type="checkbox" name="autologin"> &nbsp; &nbsp; &nbsp; <a href="forum/ucp.php?mode=register">Register</a></li>
        <li><input type="submit" value="Login" name="login"></li>
    </ul>
    <input type="hidden" name="redirect" value="../index2.php">
    </form>
</div>  

<?php
} else { ?>

<img src="forum/images/avatars/gallery/<?php echo $user->data['user_avatar']; ?>" style="float:left; width:72px; height:72px;">
<div class="login">
    Welcome back, <?php echo $user->data['username_clean']; ?><br> 
    You have <?php echo $user->data['user_unread_privmsg']; ?> new messages<br>
    <a href="index2.php?cp=logout">Log Out</a>
</div>
<?php } ?>

Я могу успешно войти в индекс, используя созданную мной форму, но если я затем перейду на другую страницу (например, about.php), меня попросят снова войти в систему. Это происходит для каждой страницы. Это также происходит, если я перехожу на форум phpbb.

Есть ли способ сделать так, чтобы я мог войти на любую страницу и не перезапускать сеанс при просмотре других страниц?

Спасибо за любую помощь!


person Robert Mastriano    schedule 24.07.2012    source источник


Ответы (1)


Проверьте путь к файлам cookie в конфигурации вашей доски в phpBB ACP. phpBB по умолчанию пытается создать ограничительные файлы cookie с корнем доски, указанным в качестве пути файла cookie.

Если путь файла cookie /forum/, сеансы не будут сохраняться в /.

person vvondra    schedule 31.07.2013