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) を削除するだけで (form view'login') が表示されません。モデルまたはビュー、

私のテーブルは ('username','password','email','user_type') のようなものです

よろしく、あらゆる種類のヒントについて事前に

4

1 に答える 1

0

条件内でビュー ページを読み込んでいますif($_POST)。最初if($_POST)は false で、ビューが読み込まれていません。

したがって、それを修正する必要があります。

使用するだけ:

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 に答える