有没有办法或一些技巧在codeiginter中使用redirect()函数发布数据数组或单个变量字符串数据?
问问题
31564 次
2 回答
13
当redirect
您通过这个过程从一个控制器或另一个控制器中使用时,所有发布数据都将被销毁,除非您将它们存储在会话中,这就是我的做法
$data = array('firstname'=>'fname','lastname'=>'lastname');
// i store data to flashdata
$this->session->set_flashdata('lolwut',$data);
// after storing i redirect it to the controller
redirect('controller/method')
所以在你的重定向控制器上,你可以通过$this->session->flashdata('lolwut')
注意我没有使用flashdata
它来访问它userdata
,它flashdata
会在下一个过程中自行销毁。
在此处阅读更多 flashdata会话类
于 2013-03-06T07:27:49.350 回答
1
首先,为什么在重定向时需要发布数据:
您可以拥有处理所有代码的 post 函数,然后在成功或失败后重定向取决于您的使用情况
function method()
{
//do something
redirect('path/to/method');
}
如果您想通过其他页面传递变量,您可以通过以下方式执行此操作:
- 将数据保存到会话中,
$this->session->set_data($data);
或$this->set_flashdata($data);
取决于您的使用情况 - 传入 URL 作为参数而不是表单提交
希望对你有所帮助
于 2013-03-06T07:38:07.890 回答