多页重定向

时间:2010-03-06 20:01:44

标签: php session codeigniter

我正在使用CodeIgniter和存储在MySQL数据库中的CodeIgniter会话。

我需要进行多页重定向,如下所示:

`some_form.php` -> `processing.php` -> `another_form_based_on_processing.php`

一切都可以从some_form.php开始 - > processing.php

但是当我从processing.php - >重定向页面时another_form_based_on_processing.php,我失去了会话。启动了一个全新的会话,用户信息和所有其他会话变量都消失了。

解决此问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

解决任何问题的最佳方法是根据知识进行调试。

如果是会话,调试涉及HTTP嗅探以查看其中的HTTP标头和cookie。服务器设置了什么,以及浏览器返回什么。来自此页面广告的HttpWatch可以提供帮助。

我希望你的脚本都在同一个域/服务器上。

答案 1 :(得分:0)

有时(例如,如果用户没有启用cookie),PHP必须在URL中的页面之间传递会话ID ...也许就是这种情况,以及从第2页重定向时到第3个(并且用户已注销),这是因为会话ID未被携带。只是一个想法。

调试此问题的一种策略可能比观看HTTP标头更容易(暂时)简化代码。现在你说从第1页到第2页的跳是可以的,但是2到3是会话丢失的地方...所以将页面更改为2以立即重定向到第3页。如果在更改之后,用户仍然是登录在第3页(即会话被保留),这意味着您的第2页代码中的 else 正在破坏会话。

祝你好运,并回应上面的牧师Shrapnel的评论,发布代码/调试结果可能有助于我们为您提供更多帮助: - )

相关问题