1. 程式人生 > >登入後跳轉之前頁面

登入後跳轉之前頁面

思路

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