0

这是我的用户控制器

function login(){

$data['error']=0;
if($_POST){
        $this->load->model('user');
        $username=$this->input->post('username', true);
        $password=$this->input->post('password', true);

        $type=$this->input->post('user_type', true);
        $user=$this->user->login($username,$password,$type);
        if(!$user){
            $data['error']=1;
                  } else {
            $this->session->set_userdata('userID', $user['userID']);
            $this->session->set_userdata('user_type', $user['user_type']);
            redirect(base_url(). 'posts');
                        }
        $this->load->view('header');
        $this->load->view('login',$data);
        $this->load->view('footer');
    }
    }

这是我的用户模型

   function login($username,$password){
        $where=array(
            'username'=>$username,
            'password'=>sha1($password),
            'user_type'=>$type
        );
        $this->db->select()->from('users')->where($where);
        $query=$this->db->get();
        return $query->first_row('array');
}

这是我的看法

<?php if($error==1){ ?>
<p>Your Identity is wrong</p>
<?php } ?>
<form action="<?php echo base_url()?>users/login" method="POST">
<p>User Name: <input type="text" name="username" /></p>
<p>Password: <input type="password" name="password" /></p>
<p><input type="submit" value="login" /></p>
</form>

不是问题出在视图上,如果我只从我的用户控制器中删除 if($_post) 则不显示(表单视图'登录')然后它可以工作,但是在我的控制器上是否有任何地方我没有错误模型或视图,

我的表就像 ('username','password','email','user_type')

问候,提前获取任何提示

4

1 回答 1

0

您正在if($_POST)条件内加载视图页面。起初,if($_POST)是假的,视图没有加载。

所以,你需要纠正它。

只需使用:

function login(){

$data['error']=0;

        $this->load->model('user');
        $username=$this->input->post('username', true);
        $password=$this->input->post('password', true);
    $type=$this->input->post('user_type', true);
    $user=$this->user->login($username,$password,$type);
    if(!$user){
        $data['error']=1;
              } else {
        $this->session->set_userdata('userID', $user['userID']);
        $this->session->set_userdata('user_type', $user['user_type']);
        redirect(base_url(). 'posts');
                    }
    $this->load->view('header');
    $this->load->view('login',$data);
    $this->load->view('footer');

}

它会完美地工作。

于 2013-05-19T04:25:12.473 回答