在普通PHP会话中使用CodeIgniter,在其中添加会话_start();
我在使用CodeIgniters实现重定向后被删除的会话时遇到了一些问题,所以我要恢复到正常的PHP会话在普通PHP会话中使用CodeIgniter,在其中添加会话_start();,php,codeigniter,Php,Codeigniter,我在使用CodeIgniters实现重定向后被删除的会话时遇到了一些问题,所以我要恢复到正常的PHP会话 session_start()的最佳位置在哪里be,假设我希望在每个页面上调用它,而不将其添加到每个控制器构造函数中 我想把它放在main index.php的顶部会很好,只是想确保这样做不会破坏任何东西,或者是否有更好的/标准的位置来放置它?您可以轻松地将它们放在index.php中。这是codeigniter应用程序的入口点,每次请求都会调用它 虽然通常不建议这样做,因为在升级codei
session_start()的最佳位置在哪里代码>be,假设我希望在每个页面上调用它,而不将其添加到每个控制器构造函数中
我想把它放在main index.php的顶部会很好,只是想确保这样做不会破坏任何东西,或者是否有更好的/标准的位置来放置它?您可以轻松地将它们放在index.php
中。这是codeigniter应用程序的入口点,每次请求都会调用它
虽然通常不建议这样做,因为在升级codeigniter版本时,您需要记住将自定义项复制到index.php
您可以使用prerequest而不是index.php,这就是为什么我总是使用包含应用程序范围代码的扩展控制器
要扩展codeigniter控制器,请将此代码放在名为MY_controller.php的文件中,并将其保存到核心文件夹
class MY_Controller extends CI_Controller
{
public function __construct()
{
parent::__construct();
session_start();
}
}
如果您决定使用此解决方案,所有控制器都需要扩展MY_控制器
您无法使用会话启动()代码>直接在codeigniter中。
相反,您必须使用:
$this->library->load('session');
$this->session->set_userdata(array('name' => 'name','age' =>
'age','etc' => 'etc');
今天我问这个问题,检查一下谢谢,但是我尝试过使用数据库和其他一些解决方案来解决会话丢失的问题,但是没有效果,所以我只想切换回正常会话。我认为这不是一个好的调用…正常的PHP会话可以满足我的所有要求,那么为什么要在我根本不需要解决问题的情况下尝试解决问题呢?谢谢,看起来一个钩子是去汉克斯的方法,看起来是一个很好的解决方案,我不想回去编辑很多文件,但我会在下一个项目中考虑它。