php - 两个控制器方法中的codeigniter会话数据
问题描述
我有这两个控制器方法都设置会话数据
//Profile
public function profile()
{
$this->session->set_userdata('title', 'some_value');
}
//KYC
public function kyc()
{
$this->session->set_userdata('title', 'KYC');
$this->load->view('basic/basic_app_views/kyc');
}
我首先加载函数kyc
并在我的视图中使用会话
<title><?php echo $this->session->userdata('title'); ?></title>
然后我在浏览器中加载profile
并刷新kyc
,但其中的值kyc
仍然KYC
像我在 kyc 函数中设置的那样。
即使在另一个控制器功能中重置了值,为什么title
仍然有该值?KYC
解决方案
这是因为每次你调用你的函数时,它都会按照它定义的方式设置用户数据。
当尝试在页面中设置标题时,我建议您改为这样做。
//Profile
public function profile()
{
$data['title'] = 'Profile Page';
$this->load->view('basic/basic_app_views/kyc', $data);
}
//KYC
public function kyc()
{
$data['title'] = 'KYC Page';
$this->load->view('basic/basic_app_views/kyc', $data);
}
然后在你的kyc.php
文件中调用它。
<title><?php echo $title; ?></title>
希望有帮助。
推荐阅读
- sql-server - 从前一个日期获取详细信息
- c# - PictureBox 可以加载不同的图像作为变量变化吗?
- mongodb - 如何在mongo中对后续元素进行分组?
- ruby - 如何概括我的代码以找到两个具有更多数字 4,5 或 6 的数字的回文数,我该怎么做才能使其更快地工作?
- java - GridLayout 在后台运行良好,但无法在真实设备上显示
- c# - 如何在 VSTO Outlook C# 中的功能区上显示表单区域按钮
- graphics - 通过拖动手柄进行投影变换
- javascript - 如何纠正功能范围?
- python - 如何删除字符串的特定部分?
- vbscript - 通过命令行在 Enterprise-Architect 中运行 VBScript