Maison > développement back-end > tutoriel php > Obtention d'une session de connexion PHP

Obtention d'une session de connexion PHP

不言
Libérer: 2023-03-25 07:24:01
original
4507 Les gens l'ont consulté

Cet article présente principalement l'acquisition d'une session de connexion PHP, qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Obtention d'une session de connexion PHP<.>

Enregistrez la session lors de la connexion

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

	}
Copier après la connexion
Lors de l'utilisation d'une page spécifique, obtenez la session dans l'action

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

Recommandations associées :

Connexion PHP pour implémenter la fonction Se souvenir de moi

Recommandations de sujets connexes : session php (Y compris des images, des textes, des vidéos et des cas)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal