0
私はcodeigniterフレームワークに基づいたWebサイトを持っています。私は私のインデックスページ上のフォームと私のデータベースを経由しているいくつかの価格のフライトを持っています。ここ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>
ので、私の問題は、ユーザーが全体のフォームを記入し、ボタンを提出しなかったときで、それは私が私のコントローラ(詳細に作られた「旅行」の機能に入ります)、エラーのため0の結果を表示します。私は彼のフォームのフィールドを見落とした場合は、フォームを正しく記入してインデックスページにエラーを表示するまで、そのユーザーはすべての詳細と私のインデックスページに残ります。
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);
}
フォームはインデックスファイルにありますので、インデックスページにエラーが残るようにするには、リダイレクト(base_url())を使用します。 –
エラーが表示されるかどうかを確認する – Learner