1

我有这个路线设置,

$route['admin/company'] = "公司";

如果你去它,这很好用,在这个页面上,我有 2 个表单用于从数据库中添加和删除公司,当这段代码在控制器中运行并输出回浏览器时,url 将更改为到控制器的直接路由所以;

第一个加载页面 = /admin/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,所以请纠正我做错的任何事情。

4

1 回答 1

0

正如 Cryptic & Cryode 在上面的评论中所说,这是我的表单提交 url。

代替:

    <?php echo form_open('company'); ?>

我应该使用:

    <?php echo form_open('/admin/company'); ?>

非常感谢你们!

于 2013-05-08T07:27:06.080 回答