codeigniter 模型方法不起作用

codeigniter model method not working

一直在学习教程 https://www.youtube.com/watch?v=7RFVKKzcHFY 我一直看到 3:50 好像没用...

注意:我的路由工作正常并且我在 $autoload 中调用了库并且数据库工作正常...

controllers/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);
    }
}

models/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');
    }
}

views/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>

帮助...

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

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."!";
    }
}

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

在您的模型中,插入物中有 [] 括号,您不能那样做。插入时也不需要 return.

并在您的表单操作中尝试将站点 url 替换为 perferd base_url()

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

echo $this->user_model->create($_POST['email'], $_POST['password']); 不好尝试 var dumping post,并查看 form validation 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');
}
}