ホームページ  >  記事  >  バックエンド開発  >  PHPログインセッションの取得

PHPログインセッションの取得

不言
不言オリジナル
2018-04-28 15:45:454456ブラウズ

この記事では主に、一定の参考値を持つPHPログインセッションの取得を紹介しますので、困っている友達に参考にしてもらいましょう

PHPログインセッションの取得

ログイン時にセッションを記録してください

	
	/**
	 *	执行登录
	 */
	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");

	}

。特定のページで、アクションでセッションを取得します

 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');
            }
        }
    }

そうすれば、バックエンドがユーザー名を取得できるので、とても簡単です。

関連する推奨事項: 覚えておいて機能を実装するための PHP ログイン

関連トピックの推奨事項: php セッション (写真、テキスト、ビデオ、ケースを含む)

以上がPHPログインセッションの取得の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。