Я думаю, что мой алгоритм ошибочен, и я не знаю, почему. Не могли бы вы рассказать мою ошибку? Вот проблема: каждый раз, когда я обновляю свою страницу, она всегда отправляет «0» в каждое поле, даже я еще не заполнил форму.
Контроллер:
function index() { $this->load->helper('form'); $this->load->helper('url'); $this->load->helper('html'); $data = array ( 'nama' =>$this->input->post('nama'), 'email' =>$this->input->post('email'), 'telepon' =>$this->input->post('telepon'), 'line' =>$this->input->post('line') ); $this->load->model('site_model'); $this->site_model->add_record($data); $this->load->view('index'); }
Модель :
class Site_model extends CI_Model { function add_record($data) { $this->load->database(); $this->db->insert('tabel_data', $data); return; } }
Некоторые строки из index.php (view):
<tr> <td><p><label>Nama</label></p></td> <td>: <input type="text" name="nama" id="nama" title="Tolong isi nama" autofocus required></td>
Помоги мне, пожалуйста !! Мой срок близок: D
потому что вы не проверяете, работает ли проверка формы или нет. Поэтому, когда вы вводите индексный контроллер, он ведет себя так, как будто он поступает из сообщения формы, поэтому все значения присваиваются нулю. Вы должны проверить, есть ли какая-либо форма, или нет, перед инициализацией массива данных. В контроллере вы должны проверить:
$this->load->library('form_validation'); if ($this->form_validation->run() == TRUE){ $data = array ( 'nama' =>$this->input->post('nama'), 'email' =>$this->input->post('email'), 'telepon' =>$this->input->post('telepon'), 'line' =>$this->input->post('line') ); $this->load->model('site_model'); $this->site_model->add_record($data); $this->load->view('index'); } else { $this->load->view('index'); }