上传到主机时,Codeigniter会话无效

时间:2014-07-07 03:35:03

标签: php codeigniter

我使用PHP创建了一个Codeigniter项目,并且它与localhost完美配合。我正在使用Xampp 3.2.1,当我将项目上传到服务器并尝试加载项目时,它会工作并显示登录页面。当我输入凭据并登录时,它会将我重定向到我项目的主页,当我尝试导航到任何其他位置时,它会将我重定向到登录页面。请问有谁可以帮我解决这个问题?

1 个答案:

答案 0 :(得分:2)

这是因为Codeigniter服务器不支持内置会话。您可以做的是使用PHP Sessions

  

如果您想了解更多细节,请参阅此链接 -   http://www.php.net/manual/en/book.session.php

您可以在控制器中使用start_session()并使用$_SESSION保存会话数据并进行访问。

如果您有多个控制器,方法不同, 您必须在项目\application\core\调用MY_Controller中创建一个控制器(如果您想使用其他名称,则可以)。控制器代码应

<?php 
class MY_Controller extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
        if(!isset($_SESSION))// to avoid A session had already been started - ignoring session_start() 
        { 
           session_start(); 
        }           
    }
}
?>

并使用此控制器扩展\application\controllers\中的所有控制器,以便全局访问session

现在使用

  

$ _ SESSION [&#39; data_name&#39;] = $ Your_Data;

将值设置为session

并在注销功能中使用session_unset()清除当前会话数据

希望它有所帮助:)