Codeigniter表单不会将数据插入数据库

时间:2016-05-26 04:22:21

标签: php codeigniter

我有一个基于Codeigniter构建的网络应用程序,但我不知道它是哪个版本。我的工作就是为这个网络应用添加一个简单的表单。表单应如下所示:

enter image description here

然后是我的视图:

<div class="box">
            <h4 class="white">ADD CIT Details</h4>
        <div class="box-container">
            <div class="modal-body form">


        <form action="#" id="formcit" class="form-horizontal">
        <?php echo form_open('insert_cit_ctrl'); ?>
          <div class="form-body">
          <?php if (isset($message)) { ?>
            <CENTER><h3 style="color:green;">Data inserted successfully</h3></CENTER><br>
            <?php } ?>

            <div class="form-group">
              <label class="control-label col-md-3">Terminal ID</label> <?php echo form_error('dterminalid'); ?>
              <div class="col-md-9">
                <?php echo form_input(array('id' => 'dterminalid', 'name' => 'dterminalid')); ?>
              </div>
            </div>

            <div class="form-group">
              <label class="control-label col-md-3">CIT</label>
              <div class="col-md-9">
                <select class="form-control" id="selectcit" >
                  <option value="none">-- Select CIT --</option>
                  <option value="CMS">1. CMS</option>
                  <option value="ALPHA">2. ALPHA</option>
                </select>
              </div>
            </div>

            <div class="form-group">
              <label class="control-label col-md-3">Branch</label> <?php echo form_error('dbranch'); ?>
              <div class="col-md-9">
                <?php echo form_input(array('id' => 'dbranch', 'name' => 'dbranch')); ?>
              </div>
            </div>

            <div class="form-group">
              <label class="control-label col-md-3">COMM</label> <?php echo form_error('dcomm'); ?>
              <div class="col-md-9">
                <?php echo form_input(array('id' => 'dcomm', 'name' => 'dcomm')); ?>
              </div>
            </div>

             <div class="form-group">
              <label class="control-label col-md-3">Machine Type</label> <?php echo form_error('dmachinetype'); ?>
              <div class="col-md-9">
                <?php echo form_input(array('id' => 'dmachinetype', 'name' => 'dmachinetype')); ?>
              </div>
            </div>

            <?php echo form_submit(array('id' => 'submit', 'value' => 'Submit')); ?>


          </div>
          <?php echo form_close(); ?>
        </form>
          </div>
        </div><!-- end of div.box-container -->
        </div> <!-- end of div.box -->  

然后这是我的控制器:

function insert_cit_ctrl() {
        $this->load->library('form_validation');

        $this->form_validation->set_error_delimiters('<div class="error">', '</div>');

        $this->form_validation->set_rules('dterminalid', 'Terminal ID', 'required');
        $this->form_validation->set_rules('dcit', 'CIT', 'required');
        $this->form_validation->set_rules('dbranch', 'Branch', 'required');
        $this->form_validation->set_rules('dcomm', 'COMM', 'required');
        $this->form_validation->set_rules('dmachinetype', 'Machine Type', 'required');

        if ($this->form_validation->run() == FALSE) {
        echo "<script>alert('Something wrong with your input');</script>";
        } else {
        //Setting values for tabel columns
        $data = array(
        'terminal_id' => $this->input->post('dterminalid'),
        'cit' => $this->input->post('dcit'),
        'branch' => $this->input->post('dbranch'),
        'comm' => $this->input->post('dcomm'),
        'machine_type' => $this->input->post('dmachinetype')
        );
        //Transfering data to Model
        $this->cit_model->modeladdcit($data);
        $data['message'] = 'Data Inserted Successfully';
        //Loading View
        $this->load->view('template', $data);
        }
    }

这是我的模特:

<?php
class Cit_model extends CI_Model{
function __construct() {
parent::__construct();

}

function modeladdcit($data){
    $this->load->database('database_office', 'TRUE');
    $this->db->insert('tbl_cit', $data);
    }
}
?>

结果呢?这是我的数据库:

enter image description here

根本没有错误。只是在我提交数据后,它不会出现在我的数据库中,而不是单个数据。这意味着,该数据甚至不会插入数据库。

我不明白。我的代码出了什么问题?

更新:

好的,所以我跟着你的小贴士,就像这样:

<form action="<?php echo base_url("evangelion/insert_cit_ctrl"); ?>" id="formcit" method="POST" class="form-horizontal">

实际发生的事情是......没事。我的意思是,数据仍未插入数据库。更糟糕的是,页面毁了,它只调用了函数,而不是像过去那样调用整个页面。

2 个答案:

答案 0 :(得分:1)

将操作和方法添加到表单

<form action="<?php echo base_url("controller_name/function_name"); ?>" id="formcit" method="POST" class="form-horizontal">

答案 1 :(得分:0)

First try to display errors like this

你可以找到你错的地方..

您在codeigniter中调用控制器,您必须调用控制器

action="controllername/actionname"
 <?php
        echo ini_get('display_errors');

       if (!ini_get('display_errors')) {
        ini_set('display_errors', '1');
         }

           echo ini_get('display_errors');
          ?>

我以为你没有提到表格中的方法类型

method ="POST"