yii登录如何记住用户名?

WBOY
풀어 주다: 2016-06-06 20:30:24
원래의
1143명이 탐색했습니다.

在使用yii登录的时候,我将第二个参数$duration设置成86400,既将用户的登录信息保存到cookie里面24小时。

<code>Yii::app()->user->login($identity,86400);
</code>
로그인 후 복사
로그인 후 복사

当我想要解析这个cookie的时候,发现cookie是这样的。

<code>array(4) {
  ["CNZZDATA2724999"]=>
  string(48) "cnzz_eid=1338694115-1438177009-&ntime=1438182411"
  ["Hm_lvt_598eaf80391e655d10ebe38419b36fb2"]=>
  string(32) "1438310921,1438410705,1438589813"
  ["PHPSESSID"]=>
  string(26) "8ak62atemv5t4vc67hjrj1l705"
  ["abed3dd2114943c0bf392b4ae87e177b"]=>
  string(139) "d6991a57d52238c7b0b10d36c07f1fd9b715532ea:4:{i:0;s:2:"27";i:1;s:5:"endui";i:2;i:86400;i:3;a:2:{s:4:"role";s:1:"1";s:4:"name";s:5:"endui";}}"
}
</code>
로그인 후 복사
로그인 후 복사

但是我该怎么才可以解析这个cookie呢?是用什么方法?

回复内容:

在使用yii登录的时候,我将第二个参数$duration设置成86400,既将用户的登录信息保存到cookie里面24小时。

<code>Yii::app()->user->login($identity,86400);
</code>
로그인 후 복사
로그인 후 복사

当我想要解析这个cookie的时候,发现cookie是这样的。

<code>array(4) {
  ["CNZZDATA2724999"]=>
  string(48) "cnzz_eid=1338694115-1438177009-&ntime=1438182411"
  ["Hm_lvt_598eaf80391e655d10ebe38419b36fb2"]=>
  string(32) "1438310921,1438410705,1438589813"
  ["PHPSESSID"]=>
  string(26) "8ak62atemv5t4vc67hjrj1l705"
  ["abed3dd2114943c0bf392b4ae87e177b"]=>
  string(139) "d6991a57d52238c7b0b10d36c07f1fd9b715532ea:4:{i:0;s:2:"27";i:1;s:5:"endui";i:2;i:86400;i:3;a:2:{s:4:"role";s:1:"1";s:4:"name";s:5:"endui";}}"
}
</code>
로그인 후 복사
로그인 후 복사

但是我该怎么才可以解析这个cookie呢?是用什么方法?

<code>// cookies
$cookie = array(
    'CNZZDATA2724999' => 'cnzz_eid=1338694115-1438177009-&ntime=1438182411',
    'Hm_lvt_598eaf80391e655d10ebe38419b36fb2' => '1438310921,1438410705,1438589813',
    'PHPSESSID' => '8ak62atemv5t4vc67hjrj1l705',
    'abed3dd2114943c0bf392b4ae87e177b' => 'd6991a57d52238c7b0b10d36c07f1fd9b715532ea:4:{i:0;s:2:"27";i:1;s:5:"endui";i:2;i:86400;i:3;a:2:{s:4:"role";s:1:"1";s:4:"name";s:5:"endui";}}' 
);
//正则
$regExp = '/(a:\d+:{.+)$/';
</code>
로그인 후 복사
<code>/*假设明确知道是哪个键存储的cookie值*/
$cookieUserInfo = end($cookie);
$getUserInfoStr = preg_match($regExp,$cookieUserInfo,$matchedStr);
$getUserInfo = $matchedStr[1] ? unserialize($matchedStr[1]) : array();
print_r($getUserInfo);
</code>
로그인 후 복사
<code>/*如果是随机某键某位置存储*/
$getUserInfo = array();
foreach($cookie as $cookieUserInfo){
    if(preg_match($regExp,$cookieUserInfo,$matchedStr)){
        $getUserInfo = unserialize($matchedStr[1]);
        break;
    }
}
print_r($getUserInfo);
</code>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!