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