如何在codeigniter中从base ule发送变量

时间:2013-07-05 06:53:33

标签: php codeigniter

我希望从视图发送id到控制器。我在codeigniter中使用锚标签发送。但是id不发送。所以请一些人帮助我使用baseurl发送变量。

我的代码就像:

base_url('controller/function/$id').

如何在控制器中接收变量?

完整的锚点:

<td><a href="<?php echo base_url('reports/trackemail/$m_id');?>"> Track this Message</a></td>

7 个答案:

答案 0 :(得分:2)

你可以试试这个

<td><a href="<?php echo base_url('reports/trackemail/'.$m_id);?>"> Track this Message</a></td>

并在报告控制器中

function trackemail()
{
    if($this->uri->segment(3))
    {
        echo $this->uri->segment(3);
    }
}

如果您遇到任何问题,请告诉我。

答案 1 :(得分:2)

你需要在控制器中这样做:

# in the reports controller
public function trackemail(){
    if($this->uri->segment(3)){
        $id = $this->uri->segment(3);
    }else{
        #do something here or redirect
    }
}

在视图中

<td><a href="<?php echo base_url('reports/trackemail/'.$m_id);?>">Track this Message</a></td>

答案 2 :(得分:1)

当您像示例一样传递它时,它将作为参数传递给控制器​​的函数,因此您必须在参数中捕获它。

  function yourfunction($id){

}

您还可以为其添加更多参数。

答案 3 :(得分:1)

没有问题,但在控制器中接收数据时使用get方法。

答案 4 :(得分:0)

要获取控制器中的id,您需要编写一个应该具有输入参数的函数,如您的情况:

假设您正在传递'controllerName / functionName / $ id',那么函数应该在controllerName的控制器中,并且函数应该像

function funtionName($id){
// do something
}

答案 5 :(得分:0)

您也可以尝试

$this->input->get('id');

以及

等功能参数
function my_function($id) {
    echo $id;
}

试试这个LINK

答案 6 :(得分:0)

报告控制器中的

public function yourfunction(){

   if($this->base_url()->segment(3)){

    $id = $this->url()->segment(3);
   }
}