登录后跳转之前页面


思路

get

get enurl()带过去参数,再登录页面hidden表单提交,登录成功后得到的post值再跳转


post

enurl()hidden表单提交,登录成功后得到的post值再跳转

//渲染登录页
	public function login_y()
	{
		//$this->display('User/pczzc');
		if(is_mobile()){
			header("Location:http://wap.xxxx.com/login_page.html");
		}
		$refererUrl = urldecode(I('get.refererUrl',U('Index/index')));
		if (empty($refererUrl)) {
			$refererUrl = $_SERVER['HTTP_REFERER'];
		}
		if (strpos($refererUrl, 'login') || strpos($refererUrl, 'regist')) {
			$refererUrl = "http://" . $_SERVER['HTTP_HOST'];
		}
		$this->assign('refererUrl', $refererUrl);
		$this->display('User/login');
	}



	/**
	 * 用户登录
	 */
	public function login()
	{
		if (IS_GET) {
			$this->display();
		}
		if ($_POST) {
			$account = I('post.account');
			$password = I('post.password');
			$auto = I('post.auto');
			$refererUrl = I('post.refererUrl');
		}
		if(!$account || !$password){
			$this->error('请输入账号或密码');
		}
		$object = D('User');
		$user_info = $object->getLoginUserInfo($account, $password);
		$user_info = $user_info[0];
		if (empty($user_info)) {
			$this->error('用户名错误');
//				echo "<script>alert('用户名错误');location.href='login_y';</script>";
		}
		$verify_password = encode_password($password, $user_info['salt']);
		// echo $verify_password;die;
		if ($verify_password != $user_info['password']) {
			$this->error('密码错误');
//				echo "<script>alert('用户名错误');location.href='login_y';</script>";
		}

		$avatar = !empty($user_info['largeAvatar']) ? get_avatar_path($user_info['largeAvatar']) : 'http://v.xxx.com/assets/img/default/avatar026827c4.png';
		//成功页
		$uid = encrypt($user_info[id]);
		if ($user_info['nickname']) {
			$account = encrypt($user_info['nickname']);
		}
		// 兼容ie
		$_COOKIE["uid"] = $uid;
		$_COOKIE["account"] = $account;
		$_COOKIE["avatar"] = $avatar;
		// cookie('uid', $uid);
		// cookie('account', $account);
		// cookie('avatar', $avatar);

		// if ($auto == 'on') {
			cookie('uid', $uid, 30 * 24 * 3600);
			cookie('account', $account, 30 * 24 * 3600);
			cookie('avatar', $avatar, 30 * 24 * 3600);
		// }
		/**
		 * 登录成功更新时间操作
		 */
		$data = [
			'id' => decrypt($uid),
			'loginTime' => time(),
			'loginIp' => GetIP()
		];
		M('user')->data($data)->save();
			header("Location: $refererUrl");
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值