首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建用户MVC codeigniter教程教程

创建用户MVC codeigniter教程教程
EN

Stack Overflow用户
提问于 2013-05-22 05:08:04
回答 1查看 347关注 0票数 0

嗨,我有关于tuts的用户教程的问题…当我在登录表单中输入用户名和密码时,返回的结果是未验证。我不知道发生了什么。下面是代码

型号: user.php

代码语言:javascript
运行
复制
    <?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');
    }
}

控制器: users.php

代码语言:javascript
运行
复制
    <?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

代码语言:javascript
运行
复制
<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>

我已经彻底检查过了,但什么也找不到……

任何帮助或信息将不胜感激,但请温文尔雅我是一个新手笑…

克里斯

EN

回答 1

Stack Overflow用户

发布于 2013-05-22 05:18:45

对于控制器;

试试这条线

代码语言:javascript
运行
复制
if( count($_POST[]) > 0 ) {

代码语言:javascript
运行
复制
if( $this->input->server('REQUEST_METHOD') === 'POST' ) {

而不是这行

代码语言:javascript
运行
复制
if ($_POST){

对于模型;

代码语言:javascript
运行
复制
// Login
function login($username,$password){
    $where=array(
        'username'=>$username,
        'password'=>$password);
    $query = $this->db->get_where('users',$where);
    return $query->first_row('array');
}

以防万一,千万不要在没有加密的情况下存储密码!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16679499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档