我有一个网站(位于根目录中),论坛位于./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"> <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论坛,也会发生这种情况。
有没有办法让它可以登录任何页面,而不是在浏览其他页面时重启会话?
感谢您的帮助!
答案 0 :(得分:0)
检查phpBB ACP中电路板配置中的cookie路径。 phpBB默认尝试创建限制性cookie,并将board root指定为cookie路径。
如果Cookie路径为/forum/
,则会话将不会保留在/.