>php教程 >php手册 >사용자가 로그인했는지 확인합니다(다른 페이지로 이동하거나 다른 작업 수행).

사용자가 로그인했는지 확인합니다(다른 페이지로 이동하거나 다른 작업 수행).

WBOY
WBOY원래의
2016-09-23 03:30:101395검색

1.

2.

   <span style="color: #0000ff;"><</span><span style="color: #800000;">if </span><span style="color: #ff0000;">condition</span><span style="color: #0000ff;">="$GLOBALS['userinfo']['user_id'] gt 0"</span><span style="color: #0000ff;">></span>
        <span style="color: #0000ff;"><</span><span style="color: #800000;">span </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="help_wz"</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="{$Think.config.VIP_URL}/Member/user_pwd/"</span><span style="color: #ff0000;"> style</span><span style="color: #0000ff;">="color:#404958;"</span><span style="color: #0000ff;">></span>找回登录密码<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span>
        <span style="color: #0000ff;"><</span><span style="color: #800000;">else</span><span style="color: #0000ff;">/></span>
        <span style="color: #0000ff;"><</span><span style="color: #800000;">span </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="help_wz"</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="/Login/FindPwd"</span><span style="color: #ff0000;"> style</span><span style="color: #0000ff;">="color:#404958;"</span><span style="color: #0000ff;">></span>找回登录密码<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></</span><span style="color: #800000;">span</span><span style="color: #0000ff;">></span>
        <span style="color: #0000ff;"></</span><span style="color: #800000;">if</span><span style="color: #0000ff;">></span>

3.백그라운드에서 전역 변수를 설정하고 사용자 정보를 조회합니다

<span style="color: #000000;">    public function UserInfo($user_id){
        //查询系统信息
        $system=array(
                'CmdId'=>'System',
                'Token'=>'wap',
                'PostDetails'=>json_encode(array(
                )));
        //通过curl的post方式发送接口请求
        $curl=new CurlController();
        $strs=$curl->SendCurl($system);
        $GLOBALS['system']=$strs['AcctDetails'];
        if(empty($user_id)){
            return false;
        }
        setcookie("login_uid", $user_id, time() + 3600, "/", C('cookie_url'));
        setcookie("rdun", $this->authcode($user_id . "," . time(), "ENCODE"), time() + 3600,"/",C('cookie_url'));;
        $data=array(
                'CmdId'=>'Individual',
                'Token'=>session('token'),
                'PostDetails'=>json_encode(array(
                        'user_id'=>$user_id,
                )));
        //通过curl的post方式发送接口请求
        $curl=new CurlController();
        $str=$curl->SendCurl($data);
        
        $GLOBALS['userinfo']=$str['AcctDetails'];
        $newtoken=unserialize($str['AcctDetails']['token']);
        $oldtoken=unserialize(session('token'));
        if(!empty(session('token')) && !empty($str['AcctDetails']['token'])){
            //用户不对
            if($newtoken['user_id'] !== $newtoken['user_id']){
                session('token',null);
                session('user_id',null);
                header('Location:/Login/Login');
                return false;
            }
            //token不对
            if($newtoken['time'] !== $oldtoken['time']){
                session('token',null);
                session('user_id',null);
                header('Location:/Login/Login');
                return false;
            }
            //超时的不能在这做,原因是存入session的值不变,如果用户一直操作的话,而且只登陆一次,那么就会出现问题
        }
        return true;
    }</span>

4. 백그라운드에서 이 메서드를 호출합니다

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.