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!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于 PHP Session 登录的实现,主要的步骤如下: 1. 创建登录页面,包括用户名和密码输入框以及登录按钮。 2. 在登录页面提交表单时,通过 PHP 后端代码对用户名和密码进行验证。如果验证通过,则在服务器端创建一个 Session,并将用户信息存储在 Session 中。 3. 在用户访问需要登录才能访问的页面时,先判断用户是否已经登录,如果没有登录,则跳转到登录页面。 4. 在需要获取用户信息时,可以通过 Session获取。 下面是一个简单的 PHP Session 登录示例代码: login.php ```php <?php session_start(); // 如果用户已经登录,则直接跳转到首页 if (isset($_SESSION['username'])) { header('Location: index.php'); exit; } // 如果用户提交了表单 if ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = $_POST['username']; $password = $_POST['password']; // 这里是对用户名和密码进行验证的代码,略 // 验证通过,创建 Session 并存储用户信息 $_SESSION['username'] = $username; $_SESSION['logged_in'] = true; // 跳转到首页 header('Location: index.php'); exit; } ?> <!DOCTYPE html> <html> <head> <title>Login</title> </head> <body> <h1>Login</h1> <form method="post"> <label>Username:</label> <input type="text" name="username"><br> <label>Password:</label> <input type="password" name="password"><br> <button type="submit">Login</button> </form> </body> </html> ``` index.php ```php <?php session_start(); // 如果用户没有登录,则跳转到登录页面 if (!isset($_SESSION['username']) || !$_SESSION['logged_in']) { header('Location: login.php'); exit; } ?> <!DOCTYPE html> <html> <head> <title>Home</title> </head> <body> <h1>Welcome, <?php echo $_SESSION['username']; ?>!</h1> <a href="logout.php">Logout</a> </body> </html> ``` logout.php ```php <?php session_start(); // 销毁 Session session_destroy(); // 跳转到登录页面 header('Location: login.php'); exit; ?> ``` 需要注意的是,PHP Session 依赖于浏览器的 Cookie,因此需要保证浏览器启用了 Cookie。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值