用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4946|回复: 3
收起左侧

一个用户ajax登录、cookie登录的问题

[复制链接]
发表于 2012-4-29 22:55:47 | 显示全部楼层 |阅读模式
PHP复制代码
/**
                * 方法名:login
                * 作用:显示用户登录页面
                */

                public function login(){
                        $username = get_cookie('user_name');
                        $passwd = get_cookie('user_passwd');
                        if(!empty($username) && !empty($passwd)){
                                $this->login_cookie($username,$passwd);
                        }else{
                                $this->load->view('login');
                        }
                }
               
                /**
                * 方法名:getLogin
                * 作用:验证登录信息
                */

                public function getLogin(){
                        $user_name=strtolower(trim($this->input->post('user_name')));
                $password = md5(trim($this->input->post('password')));
                        if(!empty($user_name) && !empty($password)){
                    $query = $this->user->userLogin($user_name,$password);
                                foreach($query as $user){};
                    if($user){
                        $this->session->set_userdata($user);
                                        if($this->input->post('c0') == 'true'){
                                                $this->_cookie($user['user_name'],$user['user_passwd']);
                                        }
                                        echo true;
                    }else{
                        echo '用户名或密码错误!';   //失败跳回产首页
                    }
                }else{
                       echo '用户名密码不能为空';    //用户名密码不能为空
                }
                }
 
                /**
                 * 方法名:cookie
                 * 作用:写入cookie
                 */

                private function _cookie($user,$pwd){
                        set_cookie('user_name',$user,86400 * 14);
                        set_cookie('user_passwd',$pwd,86400 * 14);
                }
               
                /**
                 * 方法名:del_cookie
                 * 作用:删除cookie
                 */

                private function del_cookie($username,$passwd){
                        delete_cookie($username);
                        delete_cookie($passwd);
                }
               
                /**
                 * 方法名:login_cookie
                 * 作用:使用cookie登录
                 **/

                public function login_cookie($username,$passwd){
                        $login = $this->user->userLogin($username,$passwd);
                        if($login){
                                foreach($login as $user){};
                                $this->session->set_userdata($user);
                                redirect('home');
                                //echo true;
                        }else{
                                $this->del_cookie($username,$passwd);
                                redirect('login');
                                //echo '用户名或密码错误 !';
                        }
                }
               
                /**
                * 方法名:logout
                * 作用:退出用户登录
                */

                public function logout(){
                        $this->session->sess_destroy(); //销毁SEESSION
                        $this->del_cookie($this->session->userdata['user_name'],$this->session->userdata['user_passwd']);
                        redirect(base_url());
                }
 
 
复制代码




问题是 现了退出不了了怎么办???
还有木有更好的方案 !!我是新手  谢谢哈
发表于 2012-5-1 13:21:24 | 显示全部楼层
本帖最后由 太尉天上飞 于 2012-5-1 13:26 编辑

http://www.cnblogs.com/ibjrc/archive/2011/08/19/2146062.html
 楼主| 发表于 2012-5-1 16:16:34 | 显示全部楼层
问题已经解决 谢谢大家
发表于 2012-10-15 14:05:03 | 显示全部楼层
在cookie里面存
user_passwd
似乎不好?看起来很危险啊!被人得到怎么办?

本版积分规则