我有一个基于codeigniter框架的网站。我的索引页面上有一个表格,还有一些通过我的数据库发送的航班价格。
这是我的表格:
<?php echo validation_errors(); ?>
<form action="<?php echo base_url() ?>detail/travel" method="post">
<input type="text" name="departure">
<input type="text" name="destination">
<input type="text" name="name">
<input type="text" name="cell">
</form>
所以我的问题是当用户没有填写整个表单并提交按钮时,它会进入&#34; travel&#34;我在我的控制器(详细信息)中制作并显示0结果,因为错误。我希望该用户保留在我的索引页面上,其中包含所有详细信息,直到他正确填写表单并在我的索引页面上显示错误,如果他错过了我的表单中的任何字段。
这是我的功能&#34;旅行&#34;我在我的控制器中(细节):
function search_travel(){
if($_POST){
$config = array(
array(
'field'=>'departure',
'label'=>'departure',
'rules'=>'trim|required|alpha'
),
array(
'field'=>'destination',
'label'=>'destination',
'rules'=>'trim|required|alpha'
),
array(
'field'=>'name',
'label'=>'name',
'rules'=>'trim|required|alpha'
),
array(
'field'=>'cell',
'label'=>'cell no',
'rules'=>'trim|required|regex_match[/^[0-13]+$/]'
)
);
$this->load->library('form_validation');
$this->load->helper(array('form', 'url'));
$this->form_validation->set_rules($config);
if($this->form_validation->run() == FALSE){
$data['errors']= validation_errors();
}
else{
$destination= $this->input->post('destination');
$this->email->send();
$data['var']= $this->Travel->search_travel($destination);
$this->load->view('details',$data)
}
}
}
我的索引功能是:
function index(){
$data['fares']= $this->Travel->all_fares();
$this->load->view('index', $data);
}
答案 0 :(得分:0)
您需要在视图页面中重定向到旧页面并打印错误
<?php echo form_error('departure'); ?>
(在控制器中的每个输入字段和下方打印此视图)
if ($this->form_validation->run() == FALSE) {
redirect('method name that loads form');
}