Следовал учебник 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>
Помогите…
В вашей модели у вас есть [] скобки на вставке, вы не можете сделать это таким образом. Также при вставке вам не нужно возвращаться.
А в вашей форме действия попробуйте заменить 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');
}
}
Так что, если вы видите пустую страницу, попробуйте просто изменить здесь:
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()
обновление работает нормально.
Благодарю.