我希望从视图发送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>
答案 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)
答案 6 :(得分:0)
public function yourfunction(){
if($this->base_url()->segment(3)){
$id = $this->url()->segment(3);
}
}