Codeigniter重定向不会更新浏览器URL

时间:2017-10-10 10:01:50

标签: php codeigniter http-redirect

我正在尝试重定向,但它似乎不起作用。浏览器URL不会更新,但我可以在(网络)检查元素中看到该视图。

查看代码

<form method="post" role="form" action="<?= site_url(); ?>entrytest/printslips">
              <label>Filter Options</label>
              <select class="form-control" name="option">
                  <option value="all">Print All</option>
                  <option value="sort">Print Selected</option>
              </select>
            <button type="submit" class="btn btn-primary">Print</button>
          </div>
            </form>

控制器代码

   public function printslips() { 
 //print_r($_POST);
    $option = $this->input->post('option');
    //echo $option;
    if($option == "all"){
      redirect( site_url() . 'student/print' );  
    }
    elseif($option == "sort"){
       echo $option;
    }
    else{

    }
}
  

我可以在网络中看到加载的视图,但不能在浏览器中加载

enter image description here

3 个答案:

答案 0 :(得分:1)

试试这个,

public function printslips() { 
    $option = $this->input->post('option');
    if($option == "all"){
      redirect('student/print' );  
    }
    elseif($option == "sort"){
       echo $option;
    }
}

在重定向控制器操作时,您不需要传递site_url。只需传递控制器和动作名称。

或者更好地使用AddMyTodo来重定向或调用函数以达到安全目的。

问候!

答案 1 :(得分:0)

你需要像这样返回重定向:

return redirect('your_controller');

答案 2 :(得分:0)

请使用此代码。

redirect('student/print' );

不需要网站网址。在重定向中必须给出控制器名称。