Codeigniter:获取页面的URI段并将其添加到其重定向页面的URL中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeigniter:获取页面的URI段并将其添加到其重定向页面的URL中相关的知识,希望对你有一定的参考价值。
所以我有这2页,如果page1的URL是:http://localhost/project/page1/page1/5
并且该页面中有一个链接,使用URL重定向到page2:
http://localhost/project/page2/page2/2 (其第3段 - 2来自选择的下拉值)
是否可以使用如下URL来重定向页面 - page2:http://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');
}
}
答案
我将page1的视图更改为:
<option
value="<?php echo base_url('page2/page2/').$row->p1_val.'/'.$row->p2_val;?>">
<?php echo $row->p2_num; ?>
</option>
控制器没有变化,只需使用以下模型解决模型问题:
$this->uri->segment();
- 然后大多数更改都在我做的数据库查询中。 - 由于我在第2页添加了额外的段,因此我将“../”添加到资源的路径中。
样本 - 第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
}
另一答案
我仍然不确定我是否理解你但你能做到:
public function page2($var1, $var2){
}
http://localhost/project/page2/page2/5/2
其中$var1
是5
,$var2
是上面的网址中的2
以上是关于Codeigniter:获取页面的URI段并将其添加到其重定向页面的URL中的主要内容,如果未能解决你的问题,请参考以下文章
CodeIgniter / PHP:如何在 .php 视图页面中获取 URI