我有一个基于Codeigniter构建的网络应用程序,但我不知道它是哪个版本。我的工作就是为这个网络应用添加一个简单的表单。表单应如下所示:
然后是我的视图:
<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);
}
}
?>
结果呢?这是我的数据库:
根本没有错误。只是在我提交数据后,它不会出现在我的数据库中,而不是单个数据。这意味着,该数据甚至不会插入数据库。
我不明白。我的代码出了什么问题?
更新:
好的,所以我跟着你的小贴士,就像这样:
<form action="<?php echo base_url("evangelion/insert_cit_ctrl"); ?>" id="formcit" method="POST" class="form-horizontal">
实际发生的事情是......没事。我的意思是,数据仍未插入数据库。更糟糕的是,页面毁了,它只调用了函数,而不是像过去那样调用整个页面。
答案 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"