我正在使用PHP,我希望实现以下目标(我知道这可以通过第三方插件实现,但我想在我自己的实践中构建它):
到目前为止我创建的PHP代码:
$user = JFactory::getUser();
$helper = JUserHelper::getUserGroups($user->id);
if(!isset($_COOKIE['pagehistory'])){
setcookie('pagehistory',$_SERVER['REQUEST_URI'].'|');
}
else {
$_COOKIE['pagehistory'] .= $_SERVER['REQUEST_URI'].'|';
}
// debug: destroy cookie
//setcookie ("pagehistory", "", time() - 3600);
$group = "";
foreach ($helper as $value) {
$group .= $value."|";
}
$userinfo = array(
'id' => $user->id,
'username' => $user->username,
'realname' => $user->name,
'group' => $group,
'url' => $_SERVER['REQUEST_URI'],
'history' => $_COOKIE['pagehistory'],
);
我遇到的问题是'pagehistory'cookie。当我使用控制台进行测试时,我似乎只获得了第一个URL和第二个,但没有更多。
示例:
导航到URL 1:'/'//(根)
导航到URL 2:'/ news'
导航到URL 3:'/ tutorials'
Cookie代码的结果:
第一轮:'/'我做错了什么?
答案 0 :(得分:0)
Cookie由setcookie
函数创建。将else更改为以下内容,看看是否修复了它:
else {
$tmp = $_COOKIE['pagehistory'] . $_SERVER['REQUEST_URI'] . '|';
setcookie('pagehistory', $tmp);
}