thinkphp中cookie类,比较方便
在配置文件config.php设置cookie的参数
'COOKIE_DOMAIN' => www.0796jg.com', //cookie的有效域名
'COOKIE_PATH' => '/' , //保存路径
'COOKIE_PREFIX' => 'test_', //cookie的前缀
'COOKIE_EXPIRE' => 36000, //cookie的生存时间
'USER_AUTH_KEY' =>'authId', // 用户认证SESSION标记
//设置cookie,在public类中的checklogin方法中写入:
Cookie::set(C('USER_AUTH_KEY'),$authInfo['id']);//$authInfo['id']为用户id号
//程序的流程是先到执行common类中的_initialize()方法,检测是否有权限你能够登陆,最先开始是执行 $this->checkUser();方法找到checkUser方法输入如下代码:
protected function checkUser() {
if(!isset($_SESSION[C('USER_AUTH_KEY')])) {
//检查cookie,
$AUTH_KEY = Cookie::get(C('USER_AUTH_KEY'));
if (!empty($AUTH_KEY)){
$User = M('User')->where('id = '.$AUTH_KEY)->find();
if (!empty($User)){
$_SESSION[C('USER_AUTH_KEY')] = $User['id'];
$_SESSION['email'] = $User['email'];
$_SESSION['loginUserName'] = $User['name'];
$_SESSION['lastLoginTime'] = $User['last_login_time'];
$_SESSION['login_count'] = $User['login_count'];
$_SESSION['subsite_id'] = $User['subsite_id'];
if($User['account']=='admin') {
$_SESSION['administrator'] = true;
}
}
}else{
$code = '<html><head></head><body><script language="javascript">';
$code .= "\nif (parent)\n\tparent.location.href = \"/index.php/Public/login\";\n";
$code .= "else\n\twindow.location.href = \"index.php/Public/login\";\n";
$code .= '</script></body></html>';
exit($code);
}
}
}最终就设置成功了! 最佳答案