一个走在php路上的追梦者
http://bblog.mozhou168.com
1.问题描述:
网上搜索了很多办法,N多说用$_SERVER['HTTP_REFFER']然后存session,读session的,还有说是直接判断$_SERVER['HTTP_REFFER']的,我真想说:你们到底试过了吗?反正我这里试了是不行。
2.解决方案:
经过实验发现,只要是涉及到$_SERVER['HTTP_REFFER'],则,无论是变量保存还是常量都是无法达到保存上一个的$_SERVER['HTTP_REFFER']的。当然,session也不行。
然后试了试cookie,发现可以。
3.代码:(注意加黑部分)
setcookie('refer', $_SERVER['HTTP_REFERER']);
trace($_SERVER['HTTP_REFERER'], 'refer', 'debug');
if(IS_POST){
$usr = isset($_POST['username']) ? I('post.username') : '';
$pwd = isset($_POST['password']) ? I('post.password') : '';
if(empty($usr)){
$this->error('用户名不能为空');
}
if(empty($pwd)){
$this->error('密码不能为空');
}
$member=M('user');
$pwd=md5(md5($pwd).'3213dfsafd');
$where = array(
'u' => $usr,
);
$ret=$member->where($where)->find();
if(!$ret){
$this->error('用户名不存在');
}else{
if($ret['password'] == $pwd){
session('user',$ret);
redirect($_COOKIE['refer']);die;
}else{
$this->error('密码错误');
}
}
}
© BoserSteven | Powered by LOFTER