Php Codeigniter会话在所有控制器上都不工作
允许在所有控制器上使用会话的最佳方式是什么?我认为有两种方法可以做到这一点: 1) 将()会话定义为全局变量。我听说这不是最好的方法Php Codeigniter会话在所有控制器上都不工作,php,codeigniter,session,controller,global,Php,Codeigniter,Session,Controller,Global,允许在所有控制器上使用会话的最佳方式是什么?我认为有两种方法可以做到这一点: 1) 将()会话定义为全局变量。我听说这不是最好的方法 2) 设置一个通用MY_控制器,并将其他控制器扩展到该控制器。在那里设置会话,这将使它们在所有课程中都可用 3) 与将&get\u instance()添加到每个控制器顶部的\u构造函数()函数有关的内容 在所有控制器上设置会话的最佳方式是什么 我无法使用这些方法中的任何一种。任何想法都会有帮助。谢谢 顺便说一句,问题是codeigniter不喜欢同时进行ajax
2) 设置一个通用MY_控制器,并将其他控制器扩展到该控制器。在那里设置会话,这将使它们在所有课程中都可用
3) 与将&get\u instance()添加到每个控制器顶部的\u构造函数()函数有关的内容
在所有控制器上设置会话的最佳方式是什么 我无法使用这些方法中的任何一种。任何想法都会有帮助。谢谢
顺便说一句,问题是codeigniter不喜欢同时进行ajax请求。它们相互干扰,会话数据被擦除 设置会话后:
$this->session->set_userdata('name', 'value');
你可以在任何地方叫它:
$this->session->userdata('name');
但是,要使会话正常工作,您需要首先手动初始化会话类!这可以通过调用以下函数来完成:
$this->load->library('session');
或者,您可以让CodeIgniter:
application/config/autoload.php
在控制器中设置会话是最佳做法
在这里我看不到任何复杂情况。一旦设置了会话:
$this->session->set_userdata('name', 'value');
你可以在任何地方叫它:
$this->session->userdata('name');
但是,要使会话正常工作,您需要首先手动初始化会话类!这可以通过调用以下函数来完成:
$this->load->library('session');
或者,您可以让CodeIgniter:
application/config/autoload.php
在控制器中设置会话是最佳做法
我在这里没有看到任何复杂情况。也许您必须在
application/config/config.php
文件中设置一些配置变量
$config['cookie\u domain']
和$config['cookie\u path']
似乎是导致此问题的原因。如果是这样的话,那么只需将它们的值设为“”,并尝试一下。也许您必须在application/config/config.php
文件中设置一些配置变量
$config['cookie\u domain']
和$config['cookie\u path']
似乎是导致此问题的原因。如果是这样的话,只需将它们的值设为“”并尝试一下。对于那些在codeigniter会话中遇到问题的人,不要费心。
它们是通过cookies完成的,如果你的网站上有很多ajax,那么这些cookies会有很多bug。切换到本机会话。对于那些在codeigniter会话中遇到问题的人,不要麻烦。
它们是通过cookies完成的,如果你的网站上有很多ajax,那么这些cookies会有很多bug。切换到本机会话。在开发模式下尝试将
$config['cookie\u secure']
设置为FALSE
在开发模式下尝试将$config['cookie\u secure']
设置为FALSE
会话是一个超全局的,可在所有控制器中使用。如果不是$\u session,你能解释一下你所说的session是什么意思吗?$\u session
是一个超全局的,它在你所有的控制器中都是可用的。若不是$\会话,你们能解释一下你们所说的会话是什么意思吗?问题是,codeigniter不使用会话,所以并没有全局数组可以访问它们。一旦我移动到另一个控制器,我就会失去它们“一旦我移动到另一个控制器,我就会失去它们”-你确定吗?更详细地说,我已经使用CodeIgniter有一段时间了,我没有遇到你刚才所说的。好的,我设置了_userdata(),我可以在控制器
中回显它,我从中调用了设置了_userdata()的模型
。但当我尝试在另一个控制器中回显这些变量时,它们就不在了。这发生在你身上了吗?我只是想再次确认这件事确实发生了,codeigniter不使用会话,所以没有全局数组可以访问它们。一旦我移动到另一个控制器,我就会失去它们“一旦我移动到另一个控制器,我就会失去它们”-你确定吗?更详细地说,我已经使用CodeIgniter有一段时间了,我没有遇到你刚才所说的。好的,我设置了_userdata(),我可以在控制器
中回显它,我从中调用了设置了_userdata()的模型
。但当我尝试在另一个控制器中回显这些变量时,它们就不在了。这发生在你身上了吗?我只是想再次确认这件事确实发生了。在我的案例中,我想告诉你的是谁将要尝试这个解决方案?cookie_domain是“”,cookie_path=“/”,并且仍然是它的给出错误。如果我将cookie_path设置为“”错误,还有谁将要尝试这个解决方案?我想告诉我的案例中的任何人“cookie\u domain”是“”,cookie\u path=“/”并且仍然存在它的给定错误,如果我将cookie\u path设置为“”,则错误仍然存在