метод модели codeigniter не работает

Следовал учебник 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>

Помогите…

0

Решение

В вашей модели у вас есть [] скобки на вставке, вы не можете сделать это таким образом. Также при вставке вам не нужно возвращаться.

А в вашей форме действия попробуйте заменить URL сайта на perferd base_url ()

Убедитесь, что помощники URL и формы загружаются автоматически. пожалуйста, прочитайте руководство пользователя http://www.codeigniter.com/userguide3/index.html

эхо $this->user_model->create($_POST['email'], $_POST['password']); не хорошо попробуйте вар демпинг пост, а также заглянуть в код проверки формы. Я думаю, потому что вы не запускаете проверку формы в контроллере.

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

спасибо за попытку помочь мне! Я полагал, что это была моя устаревшая версия PHP … которая не поддерживала [] Вместо того, чтобы использовать array()
обновление работает нормально.
Благодарю.

0
По вопросам рекламы [email protected]