登入後跳轉之前頁面
阿新 • • 發佈:2019-02-10
思路
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"); }