【问题标题】:CodeIgniter Form always sends '0' dataCodeIgniter 表单总是发送“0”数据
【发布时间】:2013-11-14 17:27:36
【问题描述】:

我认为我的算法是错误的,我不知道为什么。你能告诉我的错误吗? 问题是:每次我刷新页面时,它总是向每个字段发送“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 中的一些行(视图):

<tr>
     <td><p><label>Nama</label></p></td>
     <td>: <input type="text" name="nama" id="nama" title="Tolong isi nama" autofocus required></td>

请帮帮我!!我的截止日期如此接近:D

【问题讨论】:

    标签: php codeigniter insert


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-05
      • 2016-04-09
      • 2012-03-03
      • 2011-09-09
      • 1970-01-01
      • 2013-08-29
      • 1970-01-01
      • 2016-05-30
      相关资源
      最近更新 更多