Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
phpmyadmin-count()有何错误:参数必须是实现可计数的数组或对象,行号:40_Php_Codeigniter - Fatal编程技术网

phpmyadmin-count()有何错误:参数必须是实现可计数的数组或对象,行号:40

phpmyadmin-count()有何错误:参数必须是实现可计数的数组或对象,行号:40,php,codeigniter,Php,Codeigniter,我想统计数据库中要登录的用户,我的代码怎么了 public function index(){ //validasi $valid = $this->form_validation; $valid->set_rules('username', ' Username', 'required', array('required' => 'Username harus diisi')); $valid->s

我想统计数据库中要登录的用户,我的代码怎么了

public function index(){
    //validasi
    $valid = $this->form_validation;

    $valid->set_rules('username', ' Username', 'required',
                array('required'    => 'Username harus diisi'));
    $valid->set_rules('password', 'Password', 'required|min_length[6]',
                array('required'    => 'password harus diisi',
                      'min_length'  => 'Password minimal 6 karakter'));


    if($valid->run()===FALSE){
        //end validasi
        $data = array('title' => 'Login Admin Tempat Ngaji');
        $this->load->view('back-end/login_view', $data, FALSE);
    //cek username dan password
    }else{
        $i              = $this->input;
        $username       = $i->post('username');
        $password       = $i->post('password');
        //cek di database
        $check_login    = $this->admin_model->login($username, $password);

        //jika ada di db
        //jika ada data 1
        if(count($check_login) == 1) { `//row 40`
            $this->session->set_userdata('username', $username);
            $this->session->set_userdata('akses_level', $check_login->akses_level);
            $this->session->set_userdata('id_admin', $check_login->id_admin);
            $this->session->set_userdata('nama', $check_login->nama);
            $this->session->set_userdata('status', $check_login->status);
            redirect(base_url('admin/dashboard'), 'refresh');
        }else{
            //jika tidak cocok error
            $this->session->set_flashdata('msg', 'Username atau password tidak cocok');
            redirect(base_url('admin/login'), 'refresh');

        }
函数登录

function login
    public function login($username, $password){
        $this->db->select('*');
        $this->db->from('admin');
        $this->db->where(array('username'   => $username,
                                'password'  => sha1($password)));
        $query = $this->db->get();
        return $query->row();
    }
查找时,我看到一些人的代码中有此错误,但我在phpMyAdmin中没有找到任何人收到此错误

我应该做什么?试试这个:

型号:

public function login($username, $password){
        $this->db->select('*');
        $this->db->from('admin');
        $this->db->where(array('username'   => $username,
                                'password'  => sha1($password)));
        $query = $this->db->get();
        if ($query->num_rows() !== 1) {
            return false;
        }
        return $query->row();
    }
控制器:

    if($check_login) { `//row 40`
        $this->session->set_userdata('username', $username);
        $this->session->set_userdata('akses_level', $check_login->akses_level);
        $this->session->set_userdata('id_admin', $check_login->id_admin);
        $this->session->set_userdata('nama', $check_login->nama);
        $this->session->set_userdata('status', $check_login->status);
        redirect(base_url('admin/dashboard'), 'refresh');
    }else{
        //jika tidak cocok error
        $this->session->set_flashdata('msg', 'Username atau password tidak cocok');
        redirect(base_url('admin/login'), 'refresh');

    }
此外,与md5类似的sha1也不安全SHA-1容易受到长度扩展攻击:

警告:不建议使用此功能来保护安全 密码,由于这种哈希算法的快速性。见 密码哈希常见问题解答,了解详细信息和最佳实践


什么是$check\u登录?Var_dump it你能在admin_model->loginsure公共函数login$username,$password{$this->db->select'*';$this->db->from'admin';$this->db->wherearray'username'=>username,'password'=>sha1$password;$query=$this->db->get;return$query->->row;}不清楚您在问什么-这是您自己编写的代码,还是phpMyAdmin代码?如果是前者,那么这里与phpMyAdmin的连接是什么?您的$check\u登录名为空,这就是您出现此错误的原因。只需在检查计数之前检查isset$check\u登录。