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');
}
}
一直在学习教程 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');
}
}