首頁  >  文章  >  後端開發  >  PHP登入session的取得

PHP登入session的取得

不言
不言原創
2018-04-28 15:45:454457瀏覽

這篇文章主要介紹了關於PHP登入session的獲取,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

PHP登入session的取得

登入時記錄session

	
	/**
	 *	执行登录
	 */
	public function doLogin(){
		$condition['name'] = $username = trim($_POST['username']);
		$condition['password'] = $password = md5(trim($_POST['password']));
		//稍后在加验证码验证逻辑
		//$imgCode = $_POST['imgCode'];
		if (empty($username) || empty($password)) {
			$this->ajaxReturn(null,C("ERR_MSG_70"),"success:false");
		}
		$user = D("User")->relation(true)->where($condition)->find();
		if(empty($user)){
			$this->ajaxReturn(null,"用户名或者密码错误","success:false");
		}
		if(empty($user['apps']) && $user['role'] != UserModel::ADMIN){
			$this->ajaxReturn(null,'该用户不属于任何一条产品线,不允许登录,请联系管理员!','success:false');
		}
		if (empty($user)) {
			$this->ajaxReturn(null,C("ERR_MSG_70"),"success:false");
		}
		$defaultAppId = $user['defaultApp'] >= 0 ? $user['defaultApp'] :  $user['apps'][0]['id'];
		
		foreach ($user['apps'] as $app){
			if ($app['id'] == $defaultAppId){
				$appName = $app['appName'];
				break;
			}
		}
		$session = array('uid'=>$user['id'],'username'=>$username,'role'=> $user['role'],'appId' => $defaultAppId,'appName'=>$appName);
		setSession($session);
		$this->ajaxReturn($data,"恭喜,登录成功!","success:true");

	}

具體頁面使用時,action中session的取得

 public function deploy()
    {
        $username = session('username');
        $conditions = explode(",", $_POST['environment']);
        $envarr = array();
        foreach ($conditions as $condition) {
            $envIds = D('Env')->field('name,IP')
                ->where("name like'" . $condition . "%'")
                ->select();
            
            foreach ($envIds as $key => $envId) {
                $envIds[$key]['mem'] = $this->getCPUMEM($envId['IP']);
            }
            
            $envIdsSort = $this->my_sort($envIds, 'mem', SORT_ASC, SORT_STRING);
            // $envIds=array_remove($envIds,'mem');
            $envarray['env'] = $condition;
            $envarray['smallIP'] = $envIdsSort[0]['IP'];
            $envarr[] = $envarray;
        }
        $_POST['environment'] = json_encode($envarr);
        $_POST['username']=$username;
        
        $resultnew = $this->request("localhost:8080/execute/isbuildingNew.html", $_POST, "POST");
        // var_dump($resulenew);
        if ($resultnew == "building:true") {
            $this->ajaxReturn(1, '前一次构建正在进行中,请稍候重试!', 'success:false');
        } else {
            $result = $this->request("localhost:8080/execute/onlineDeployNew.html", $_POST, "POST");
            if ($result) {
                $this->ajaxReturn(1, $result, 'success:true');
            } else {
                $this->ajaxReturn(0, "提交构建失败", 'success:false');
            }
        }
    }

然後後端就能取得到這個username了,soeasy!

相關推薦:PHP登入實作記住我功能

#相關專題推薦php session(包含圖文、影片、案例)

以上是PHP登入session的取得的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn