在Codeigniter中的表单发布后URL更改问题

时间:2018-05-15 07:57:49

标签: codeigniter

如何在发布表单后或在提交后加载页面后管理地址栏中的URL。

是否可以通过路由进行管理?

<?php
public function index(){
$this->load->view('login');
}

public function login_process(){
....... code......

if($login==true){
$this->load->view('dashboard'); // Url is not changing but view is loaded
}else{
$this->load->view('login');
}

}

?>

2 个答案:

答案 0 :(得分:0)

希望这会对您有所帮助:

使用redirect()帮助中的url方法,确保将其加载到控制器或autoload.php中

public function login_process()
{
....... code......

if($login === TRUE)
{
    redirect('controller_name/dashboard','refresh');
    /*$this->load->view('dashboard'); */
}
else
{
    redirect('controller_name/index','refresh');
    /*$this->load->view('login');*/
}

}

更多信息:https://www.codeigniter.com/user_guide/helpers/url_helper.html#redirect

答案 1 :(得分:0)

您应该创建另一个名为dashboard的方法,您应该像以下一样重定向到

class Example_Controller extends CI_Controller {

    public function index(){
        $this->load->view('login');
    }

    public function dashboard(){
        $this->load->view('dashboard');
    }

    public function login_process(){
        // Your Code
        redirect('Example_Controller/' . (($login==true) ? 'dashboard' : 'index'));
    }

}

Example_Controller 替换为您的控制器名称。

并在 routes.php

中添加以下行
$route['login'] = 'Example_Controller/index';
$route['dashboard'] = 'Example_Controller/dashboard';