在我的控制器中我用这种方式.我想通过重定向将可变数据传递给控制器的索引函数
$in=1;
redirect(base_url()."home/index/".$in);
Run Code Online (Sandbox Code Playgroud)
我的索引功能是
function index($in)
{
if($in==1)
{
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到一些错误,如未定义的变量.
我怎么解决这个问题?
Rej*_*lam 20
使用会话在重定向时传递数据.CodeIgniter中有一个特殊的方法来做它叫做"set_flashdata"的方法
$this->session->set_flashdata('in',1);
redirect("home/index");
Run Code Online (Sandbox Code Playgroud)
现在你可以得到in索引控制器
function index()
{
$in = $this->session->flashdata('in');
if($in==1)
{
}
}
Run Code Online (Sandbox Code Playgroud)
请记住,此数据仅适用于重定向并在下一页请求时丢失.如果您需要稳定的数据,那么您可以使用带参数&GET的URL$this->input->get('param1')
所以在控制器中你可以拥有一个功能:
$in=1;
redirect(base_url()."home/index/".$in);
Run Code Online (Sandbox Code Playgroud)
在目标函数中,您可以像这样访问$ in值:
$in = $this->uri->segment(3);
if(!is_numeric($in))
{
redirect();
}else{
if($in == 1){
}
}
Run Code Online (Sandbox Code Playgroud)
我把段(3)放在你的例子中,因为$ in是2个破折号.但是如果你有这样的链接结构:www.mydomain.com/subdomain/home/index/$in你将不得不使用segment(4).
希望有所帮助.