创建用户MVC codeigniter tuts教程

时间:2013-05-21 21:08:04

标签: php codeigniter-2

嗨我有关于tuts的用户教程的问题... 当我在登录表单中键入用户名和密码时,它将返回未经验证的状态。我不知道最近发生了什么。这是代码

型号:user.php

    <?php

    class User extends CI_Model
    {    

        // Create a user
    function create_user($data){
        $this->db->insert('users',$data);
    }

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

Controller:users.php

    <?php

class Users extends CI_Controller
{    

    // Login Function
    function login(){
        $data['error']=0;
        if ($_POST){
            $this->load->model('user');
            $username=$this->input->post('username',true);
            $password=$this->input->post('password',true);
            $user=$this->user->login($username,$password);
            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().'index.php/posts/');
            }
        }
        $this->template->load('layout/template', 'login', $data); 
    }

    // Logout Function
    function logout(){
        $this->session->sess_destroy();
        redirect (base_url()).'index.php/posts/';
    }

}

查看:login.php

<h2>Login</h2>
<div class="row">
    <div class="span12">
    <?php if($error==1){ ?>
    <p class="alert alert-error ">
            Username/Password did not match...
    </p>
    <?php } ?>

    <p>

        <form action="<?=base_url()?>index.php/users/login" method="post">
        <p><input class="span3" name="username" type="text" placeholder="Username"></p>
        <p><input class="span3" name="password" type="password" placeholder="Password"></p>

        <p><button class="btn btn-primary" type="submit">Login</button></p>
        </form>

    </p>
    </div>
</div>

我经历过彻底但却找不到任何东西......

任何帮助或信息都会很感激,但请你温柔一点新手大声笑......

克里斯

1 个答案:

答案 0 :(得分:0)

对于控制器;

试试这一行

if( count($_POST[]) > 0 ) {

if( $this->input->server('REQUEST_METHOD') === 'POST' ) {

而不是这一行

if ($_POST){

表示模型;

// Login
function login($username,$password){
    $where=array(
        'username'=>$username,
        'password'=>$password);
    $query = $this->db->get_where('users',$where);
    return $query->first_row('array');
}

以防万一,绝不存储密码而不加密密码!