CodeIgniter Form始终发送'0'数据

时间:2013-11-14 17:27:37

标签: php codeigniter insert

我认为我的算法错了,我不知道为什么。你能告诉我的错误吗? 问题在于:每当我刷新页面时,它总是向每个字段发送'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

1 个答案:

答案 0 :(得分:0)

因为您没有检查表单验证是否正在运行。 因此,当您进入索引控制器时,它的行为就像来自表单帖子,因此所有值都分配为零。 在初始化数据阵列之前,您应该检查是否有表单出现。 在您的控制器中,您应该检查:

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