登录时cookie保存
if(empty($c)){
echo "不存在的用户名或者密码错误!";exit;
}else{
if(isset($_POST['checked']) && $_POST['checked']!=0){
setcookie('username',$c['username'],time()+60*60*24*7);
setcookie('id',$c['id'],time()+60*60*24*7);
}
//判断是否是ajax请求
if(isset($action)){
echo "登陆成功";
$_SESSION['user']=$c['username'];
}else{
$_SESSION['user']=$c['username'];
header("Location:/");
}
} 首页判断 public function index()
{
session_start();
print_r($_COOKIE);
if(isset($_COOKIE['id']) && isset($_COOKIE['username'])){
echo $_COOKIE['username'];exit;
$_SESSION['user']=$_COOKIE['username'];
}
$this->display();
}cookie值找不到,再想请问下这样信息安全吗?怎么改进。
if(empty($c)){
echo "不存在的用户名或者密码错误!";exit;
}else{
if(isset($_POST['checked']) && $_POST['checked']!=0){
setcookie('username',$c['username'],time()+60*60*24*7);
setcookie('id',$c['id'],time()+60*60*24*7);
}
//判断是否是ajax请求
if(isset($action)){
echo "登陆成功";
$_SESSION['user']=$c['username'];
}else{
$_SESSION['user']=$c['username'];
header("Location:/");
}
} 首页判断 public function index()
{
session_start();
print_r($_COOKIE);
if(isset($_COOKIE['id']) && isset($_COOKIE['username'])){
echo $_COOKIE['username'];exit;
$_SESSION['user']=$_COOKIE['username'];
}
$this->display();
}cookie值找不到,再想请问下这样信息安全吗?怎么改进。
setcookie('username','username',time()+60*60*24*7);
setcookie('id','id',time()+60*60*24*7);
不知道你前面省略掉多少代码
既然是有条件进入 cookie 设置分支,那么你总得先确认该分支进入后再测试吧?
确认进入了该分支 设置完以后弹出有$_COOKIE['username']和$_COOKIE['id']的 跳转到首页后又没了
function loginsub(){
if(empty($_POST['username'])) {
echo '请填写用户名!';exit;
}elseif (empty($_POST['password'])){
echo '请填写密码!';exit;
}
$action=$_POST['action'];
$data['username']=isset($_POST['username'])?addslashes($_POST['username']):"";
$data['password']=isset($_POST['password'])?addslashes($_POST['password']):"";
$user=D('User');
$c=$user->where($data)->find();
if(empty($c)){
echo "不存在的用户名或者密码错误!";exit;
}else{
if(isset($_POST['checked']) && $_POST['checked']!=0){
setcookie('username','ssssss',time()+60*60*24*7);
setcookie('id','40',time()+60*60*24*7);
}
//判断是否是ajax请求
if(isset($action)){
echo "登陆成功";
$c['updatetime']=time();
$user->save($c);
$_SESSION['user']=$c['username'];
}else{
$c['updatetime']=time();
$user->save($c);
$_SESSION['user']=$c['username'];
header("Location:/");
}
}
}
你看看这里是否执行。
if(isset($_POST['checked']) && $_POST['checked']!=0){
setcookie('username','ssssss',time()+60*60*24*7);
setcookie('id','40',time()+60*60*24*7);
}
------cookie是保存在客户端随着你的浏览器关闭而消失的。
如果没点退出,建议你换其它浏览器看看是不是同样的结果……
一定不能登陆以后点退出再关浏览器哈~~
是这样的,每个浏览器存cookie的地方都是不一样的,所以登陆只能用同一款浏览器才有效