【问题标题】:Codeigniter create session and redirect not working in IECodeigniter 创建会话和重定向在 IE 中不起作用
【发布时间】:2010-12-22 16:10:07
【问题描述】:

我正在使用 codeigniter 并且有一个简单的用户登录设置。用户提交他们的凭据,与数据库检查它们是否有效,如果它们是模型,则向控制器传递一个会话 ID 并重定向到用户页面。如果数据不正确,用户将被重定向到带有错误消息的登录页面。这里没有什么花哨的。问题是它在 IE 中不起作用。我不确定是因为重定向还是会话创建。在除 IE 之外的所有浏览器中都可以正常工作。我测试了 ie 8 和 windows 7 并运行良好。奇怪的是,它不适用于装有 Windows 7 IE 8 的电脑。有人能告诉我为什么每次用户登录时登录页面都会不断刷新吗?有人告诉我尝试添加此代码:

<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="Expires" content="-1" /> <meta http-equiv="CACHE-CONTROL" content="NO-CACHE" /> </head>

什么都没做。我还将会话处理程序从 ci_sessions 更改为 cisessions 也没有帮助(我在另一个论坛上看到了这个)。任何人都可以帮忙吗?!

【问题讨论】:

  • 仅供参考:通过提供与会话相关的所有配置行以及执行会话创建/重定向的代码,可以获得更有价值的帮助。

标签: php codeigniter login


【解决方案1】:

我在 IE 中使用 CI Session 时遇到了同样的问题。然后我在控制器构造函数中使用了以下标头,现在它对我有用:

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

【讨论】:

    【解决方案2】:

    您是否尝试过使用 URL 帮助程序中包含的 CI 重定向方法来查看这是否适合您?

    http://codeigniter.com/user_guide/helpers/url_helper.html

    【讨论】:

      【解决方案3】:

      我遇到了类似的问题,即 ci 会话在 windows xp 中无法运行,但在其他任何地方都无法运行。所以我使用了 Dariusz Debowczyk 的 Native Sessions 库,它解决了这些问题。好消息是 Darius 在保持界面不变方面做得很好,因此您不必对代码进行太多更改。你仍然可以使用 $this->session->userdata() 和 $this->session->set_userdata()... 等等。你也可以使用 flashdata。唯一的区别是销毁函数而不是 $this->session->sess_destroy() 他使用 $this->session->destroy()。

      http://codeigniter.com/wiki/Native_session/

      【讨论】:

        猜你喜欢
        • 2014-03-14
        • 1970-01-01
        • 2012-07-14
        • 2017-09-02
        • 1970-01-01
        • 2015-11-17
        相关资源
        最近更新 更多