微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

user_session 不工作Codeigniter,Ajax

如何解决user_session 不工作Codeigniter,Ajax

这里是新手。我有一个ajax登录功能登录没有问题,但会话存在。我遇到的问题是每当我调用会话时,它都不起作用。我用过 print_r($this->session->all_userdata());查看 user_session 数据,但我没有得到任何信息。有什么我错过的吗?任何帮助将不胜感激。非常感谢。

enter image description here

观看次数

阿贾克斯:

<script>
    $(function(){
        
        $("#doLogin").submit(function(e){
            e.preventDefault();


                
            $("#btnSubmit").css('display','none');
            $("#submit_preloader").css('display','block');
            $("#errorMessage").html('');

            $.ajax({
                url: "<?=site_url('account/dologin')?>",data: $(this).serialize(),dataType: "json",type: "post",async: false,success: function(data){

                    if(data.response == "true") {

                        $("#doLogin")[0].reset();
                        
                        $("#submit_preloader").css('display','none');

                        $("#errorMessage").css('display','block');
                        $("#errorMessage").html(data.errors);
                        
                            setTimeout("window.location.href='<?=site_url('profile/prof')?>'",300);
                        } else {

                            
                            $("#errorMessage").css('display','block');
                            $("#errorMessage").html(data.errors);

                            //alert("SORRY. " + data.errors);

                            $("#btnSubmit").css('display','block');
                            $("#submit_preloader").css('display','none');

                            
                        }
                    
                    },});
                        
        });
        
    }); 

</script>

控制器:

public function dologin()
    {
        
        //die('if tinawag to');
        $this->output->enable_profiler(false);
        $this->form_validation->set_rules('formUsername','Username','required|min_length[8]|max_length[35]');
        $this->form_validation->set_rules('formPassword','Password','required|min_length[8]|max_length[35]');
        
        $success = $this->form_validation->run($this);
        
        
        if($success)
        {
            $pdata = array(
                    'username' => trim($this->input->post('formUsername')),'password' => MD5(trim($this->input->post('formPassword'))),);
            
            
            //          $data['response'] = "false";
            //          $data['errors'] = 'Processing';
            
            if($this->accounts->checkUsername(trim($this->input->post('formUsername')))) {
                
                $user = $this->accounts->checkUserData($pdata);
                
                if($user){
                    
                    $this->accounts->log_session();
                    
                    //log user
                    
                    $data['response'] = "true";
                    $data['errors'] = 'login successful';
                    
                    
                } else {
                    $data['response'] = "false";
                    $data['errors'] = "Invalid User Password";
                }
                
            } else {
                $data['response'] = "false";
                $data['errors'] = "Username does not exist.";
            }
        
        
    } else {
        $data['response'] = "false";
        $data['errors'] = validation_errors();
        
        
    }
    
    echo json_encode($data);
}

模型: // 用户会话数据

   function checkUserData($data)
    {
        $sql = "select * from users where username like ? and password like ?";
        $Q = $this->db->query($sql,array($data['username'],$data['password']));
        
        if($Q->num_rows() > 0) {
            
        $R = $Q->row_array();
                
        $arrSession = array(
                'uid' => $R["userID"],'username' => $R["username"],'mobile' => $R["mobile"],'password'=> $R["password"],'currentPoints' => $R['currentPoints'],'mobile' => $R['mobile'],'firstname' => $R['firstname'],'lastname' => $R["lastname"],'email' => $R["email"],'account_type' => $R["account_type"],'commCurrentBalance' => ["commCurrentBalance"]
        );
        
        $this->session->set_userdata($arrSession);
        
        
        //print_r( $this->session->all_userdata()); 
        
            return $R;
        } else {
            return false;
        }
        
    }

解决方法

您需要在控制器的 __construct 函数中包含会话库。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?