codeigniter模型方法不起作用

时间:2015-02-06 01:22:43

标签: php function codeigniter model load

一直关注教程https://www.youtube.com/watch?v=7RFVKKzcHFY 我一直看到凌晨3点50分,似乎它无法正常工作......

注意:我的路由工作正常,我在$ autoload中调用了库,db工作正常......

控制器/ admin.php的

<?php
class Admin extends CI_Controller {

    public function index() {

        $this->load->view('admin');
    }

    public function create_user() {

        $this->load->model('user_model');
        echo $this->user_model->create($_POST['email'], $_POST['password']);
    }

    public function delete_user($user_id) {

        $this->load->model('user_model');
        $this->user_model->delete($user_id);
    }
}

模型/ user_model.php

<?php
class User_model extends CI_Model {

    public function __construct() {

        parent::__construct();
    }

    public function create($email, $password) {

        return $this->db->insert('user', [
            'email' => $email,
            'password' => $password
        ]);
    }

    public function delete($user_id) {

        $this->db->where(['user_id' => $user_id]);
        return $this->db->delete('user');
    }
}

视图/ admin.php的

Admin

<form action="<?=site_url('admin/create_user')?>" method="post">
    Email: <input type="email" name="email" /><br />
    Password: <input type="password" name="password" /><br />
    <input type="submit" />
</form>

帮助...

3 个答案:

答案 0 :(得分:0)

因此,如果您看到空白页,请尝试更改此处:

public function create($email, $password) {

    if ($this->db->insert('user', [
        'email' => $email,
        'password' => $password
    ])) {
      return 'User successfully inserted!';
    } else {
      return "Can't insert user: email=".$email."!";
    }
}

答案 1 :(得分:0)

感谢您试图帮助我!我认为这是我过时的PHP版本...它不支持[]而不是array() 更新工作正常。 感谢。

答案 2 :(得分:0)

在你的模型中,插入物中有[]括号,你不能这样做。插入时也不需要返回。

在您的表单操作中尝试使用perferd base_url()替换网站网址

确保自动加载网址和表单助手。请阅读用户指南http://www.codeigniter.com/userguide3/index.html

echo $this->user_model->create($_POST['email'], $_POST['password']);不好尝试var dumping post,还要查看表单验证codeigniter 。我认为因为你没有在控制器中运行表单验证。

Codeigniter 3已经出现在github BCIT上了。 https://github.com/bcit-ci/CodeIgniter

<?php

class User_model extends CI_Model {

public function __construct() {

    parent::__construct();
}

public function create($email, $password) {

     $email = $this->input->post('email');
     $password = $this->input->post('password');

     $data = array(
      'email' => $email
      'password' => $password
     );

     $this->db->insert_id();
     $this->db->insert('user', $data);

}

public function delete($user_id) {
    $this->db->where('user_id',  $user_id);
    $this->db->delete('user');
}
}