Codeigniter:获取页面的 URI 段并将其添加到其重定向页面的 URL

Codeginiter: Get the a URI segment of a page and add it to the URL of its redirect page

所以我有这两页 如果 page1 的 URL 是:http://localhost/project/page1/page1/5

那个页面中有一个 link 重定向到 page2 URL:

http://localhost/project/page2/page2/2
(它的第 3 个部分 - 2 来自所选的下拉值)

是否可以使用这样的 URL 制作重定向页面 - page2http://localhost/project/page2/page2/5/2

-这样我就可以对 page1 的值做一些事情,比如在数据库中动态查询。

在第 1 页中查看:

<div class="form-group form-inline">
  <select id="p2_val">

      <?php 
          foreach($v_p2 as $row) {
      ?> 
      <option 
          value="<?php  echo base_url('page2/page2/').$row->p2_val;?>">
          <?php echo $row->p2_num; ?>
      </option>
      <?php }  ?> 

  </select>

      <input  class="SubmitButton" type="submit" 
      name="SUBMITBUTTON" value="Submit" />
</div>

第 1 页中的控制器:

class Page1 extends CI_Controller{

     public function __construct()
        {
            parent::__construct(); 
            $this->load->model('page1_model');

        }

    public function page1(){
        if($this->session->userdata('logged')){

            $this->load->model('page1_model');

            $data["v_p2"] = $this->page1_model->v_p2($this->session->userdata('user_id'));

            $this->load->view('pages/page1', $data);

            $this->load->view('templates/footer');

        }

    }

第 2 页的控制器:

class Page2 扩展 CI_Controller{

     public function __construct()
        {
            parent::__construct(); 
            $this->load->model('page2_model');

        }

    public function page2(){
        if($this->session->userdata('logged')){

            $this->load->model('page2_model');

            $data["get_p2"] = $this->page2_model->get_p2($this->session->userdata('user_id'));

            $this->load->view('pages/page2', $data);

            $this->load->view('templates/footer');

        }

    }

我仍然不确定我是否理解你,但你可以这样做:

public function page2($var1, $var2){

}

http://localhost/project/page2/page2/5/2

其中$var1就是5,而$var2就是上面url

中的2

我将 page1 的视图更改为:

  <option 
      value="<?php  echo base_url('page2/page2/').$row->p1_val.'/'.$row->p2_val;?>">
      <?php echo $row->p2_num; ?>
  </option>

控制器没有变化,只是通过使用模型来解决:

$this->uri->segment();

- 大多数更改都是在我进行的数据库查询中进行的。
- 由于我在 page2 中添加了额外的段,我添加了 " ../ " 到资产的路径。

示例 - 第 2 页的模型:

   function v_p2($data){
        $p1_val = $this->uri->segment(3);
        $p2_val = $this->uri->segment(4); 

         //DO smth with $p1_val & $p2_val
         //These values were used for querying


}