Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter会话在所有控制器上都不工作_Php_Codeigniter_Session_Controller_Global - Fatal编程技术网

Php Codeigniter会话在所有控制器上都不工作

Php Codeigniter会话在所有控制器上都不工作,php,codeigniter,session,controller,global,Php,Codeigniter,Session,Controller,Global,允许在所有控制器上使用会话的最佳方式是什么?我认为有两种方法可以做到这一点: 1) 将()会话定义为全局变量。我听说这不是最好的方法 2) 设置一个通用MY_控制器,并将其他控制器扩展到该控制器。在那里设置会话,这将使它们在所有课程中都可用 3) 与将&get\u instance()添加到每个控制器顶部的\u构造函数()函数有关的内容 在所有控制器上设置会话的最佳方式是什么 我无法使用这些方法中的任何一种。任何想法都会有帮助。谢谢 顺便说一句,问题是codeigniter不喜欢同时进行ajax

允许在所有控制器上使用会话的最佳方式是什么?我认为有两种方法可以做到这一点:

1) 将()会话定义为全局变量。我听说这不是最好的方法
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设置为“”,则错误仍然存在