PHP session 不适用于 IE

标签 php internet-explorer session

我有一个用 php 制作的网站,它在整个网站中使用服务器端 session 。
事实上,这是一个具有依赖于 session 变量的用户登录的站点,如果所有 session 变量有问题,则根本不会加载任何页面。

在该网站上,有一个 iframe,其中包含来自其他用户的小消息提要。
这些小消息旁边有可点击的照片,可以打开用户的个人资料。
现在,每个页面都需要一些格式才能在该特定页面上打开用户的个人资料...实际上只有少数问题页面,但这些页面的 onclick 函数格式必须稍有不同,否则它们会损坏页面。
因此,我在每个页面 ($_SESSION["current_page"]) 上设置了一个 session 变量,让提要知道如何设置可点击照片的格式。现在 Firefox、Opera、Chrome、Safari 都能正常工作。
但是IE6和IE7在需要特殊格式化的页面上出现问题。
因此,在费尽心机之后,我最终开始从服务器打印我的 session 变量。
你瞧,在特殊页面上,($_SESSION["current_page"]) 始终设置为“main”而不是“special1”或“special2”。

我在 Firefox 和我提到的所有其他浏览器中打印了相同的 session 变量,它们按预期打印出“special1”或“special2”。
任何人都可以想到一些东西 - 可能与提要位于 iframe 中的事实有关吗??? - 这会导致 IE 以不同方式处理服务器端 session 变量或以某种方式在后台静默启动页面“主”?
我已经非常仔细地检查了 feed 是否有任何对页面“main”的引用——它似乎没有任何方式加载该页面。

这对我来说没有意义。

最佳答案

检查服务器机器的名称。 IE 对包含“-”或“_”的机器名称有问题 - 它们无法维持 session !过去我遇到过两次这个问题,我总是需要几周的时间才能弄清楚,我很震惊 IE 还没有修复它。

只要重命名机器就没有奇怪的字符!如果你只是在 url 中使用服务器的 IP 地址来测试,你就可以让它工作。

关于PHP session 不适用于 IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/306132/

相关文章:

java - 作用域 bean 应如何在 Hazelcast 中触发 session 创建

php - 在 WordPress 主题中(使用 get_search_form()),如何将占位符文本添加到搜索框?

php - JSON 在 php 中搜索和删除?

html - IE 忽略背景、填充和最小高度

jquery - Bootstrap Modal 无法在 IE 中工作,尝试了 Stack 上的所有其他解决方案

react-native - 如何在 react-native-webview 中保持最后一个 Web session 处于事件状态?

php - Controller 存在,但找不到页面

c# - 如何在 C# 中从 PHP 执行这 3 个操作(moSTLy 自省(introspection))

css - IE 下拉菜单后退到第一项

asp.net - 在插入数据库之前,如何在回发之间保留临时值?