尝试获取非对象的属性"密码" |代码点火器表单验证



如果我不填写用户名或用户名不在数据库中,那么这将是错误的 尝试获取非对象的属性"密码">

文件名:控制器/用户.php

线路号: 74'

我的代码控制器/用户

  public function login(){
    $this->load->library('form_validation');
    $input = $this->input->post(NULL, TRUE);
    $this->username_temp = @$input['username'];

    if($this->form_validation->run('login') == FALSE){
        $this->load->view('form_login');
    }
    else{
        $this->load->library('session');
        $login_data = array(
            'username' => $input['username'],
            'login_status' => TRUE
            );
        $this->session->set_userdata($login_data);
        redirect(base_url('depan/index'));
    }
}
public function password_check($str){
    $this->load->model('user_model');
    $user_detail = $this->user_model->get_user_detail($this->username_temp);
    if($user_detail){
        if($user_detail->password == crypt($str,$user_detail->password)){
            return TRUE;
        }
        else{
            $this->form_validation->set_message('password_check', 'Password 
yang anda masukan salah');
            return FALSE;
        }
    }
    else{
        $this->form_validation->set_message('password_check', 'Username 
yanga anda masukan ');
            return FALSE;
    }

}

我在配置中的代码表单验证

'login' => array(
    array('field' => 'username',
            'label' => 'username',
            'rules' => 'required'
        ),
    array(  'field' => 'password',
            'label' => 'password',
            'rules' => 'required|callback_password_check'
            )
    )

我的代码form_login

<h1>Login</h1>
    <?php echo validation_errors(); ?>
    <form action="<?php echo base_url('user/login'); ?>" method="POST">
        <label>Username</label><input type="text" name="username" /><br />
        <label>Password</label><input type="password" name="password" /><br />
        <input type="submit" name="submit" value="Login" />

我在模型中的user_detail

public function get_user_detail($username){
    $this->db->where("username", $username);
    $query = $this->db->get('register');
    if($query->num_rows() > 0){
        $data = $query->row();`enter code here`
        $query->free_result();
    }
    else{
            $data = NULL;
    }
    return $data;
}

为什么如果我没有在表格中填写用户名会出错?

消息:尝试获取非对象的属性"密码">

文件名:控制器/用户.php

行号:74

回溯:

File: D:\XAMPP\htdocs\ilmu\ilmusepuluh\application\controllers\user.php行: 74功能:_error_handler

第 74 行是

$this->form_validation->set_message("password_check","密码杨安达马苏坎萨拉赫"(;

抱歉,错误是我自己造成的,我在浏览器中输入了错误的文件夹名称。 应该是 http://localhost/science/ilmusebelas/user/login not http://localhost/science/ilmusepuluh/user/login对不起非常抱歉,上面的代码是正确的

最新更新