私はこのルート設定を持っています、
$route['admin/company'] = "会社";
これはうまく機能します。このページには、データベースに会社を追加および削除するための 2 つのフォームがあります。このコードがコントローラーで実行され、ブラウザーに出力されると、URL はコントローラーへの直接ルートに変更されます。それで;
最初の読み込みページ = /admin/company
送信フォーム = /company/
これを回避する特別な方法はありますか?
これは、リダイレクトではなくロードビューでのみ発生することを指摘しておく必要があります。
コントローラーから次のようにビューを出力しています。
//check which form is being submitted.
if ($this->input->post('form2')){
//This method will have the credentials validation
$this->load->library('form_validation');
$this->form_validation->set_rules('name', 'Name', 'trim|required|xss_clean');
if($this->form_validation->run() == FALSE){
//Field validation failed.
//Create a variable with errors assigned to form 2
$data['form2_errors'] = validation_errors();
$this->load->view('admin/header', $data);
$this->load->view('admin/admin_navigation', $data);
$this->load->view('admin/company_view', $data);
$this->load->view('admin/footer');
} else {
//query the database
log_message('debug', 'company add() called from controller');
$this->result = $this->company_model->add($name);
//basically if there is somthing in the result varible IE the query to add worked then ....
if($result) {
redirect('admin/company_view', 'refresh');
} else {
//tell user problem with query
$data['form2_errors'] = "Error: 0001";
$this->load->view('admin/header', $data);
$this->load->view('admin/admin_navigation', $data);
$this->load->view('admin/company_view', $data);
$this->load->view('admin/footer');
return false;
}
}
}
昨日codigniterを使い始めたので、間違っていることを修正してください。