我的localhost(xampp windows)和我的域(FC7 linux)之间存在一个令人困惑的区别。我有一个包含大量数据库驱动选择列表的页面。在更新时,这些值将传递到更新数据库的页面并向用户确认。 (我正在直接监视我的数据库,这是正确发生的)
有一个菜单选项可以返回输入页面。在我的locahost上选择此选项将正确返回包含更新值的页面。在我的域上选择此选项将返回包含原始值的页面(例如,php脚本似乎不会运行)。我必须刷新(调用查询)然后重新加载(将值加载到字段中)以获取要显示的新值。
我迄今为止的经验是模板保持PHP和HTML分开,所以我以前从未遇到过这个问题。我尝试了很多替代方案,但影响不大 - 有什么想法吗?
答案 0 :(得分:1)
您获得的错误答案很可能来自缓存。
您可以使用HTTP header viewer找出您的服务器发送的缓存标头,或者您可以确定Firefox的LiveHTTPHeaders插件。
您在寻找什么:
您的服务器或浏览器与服务器之间的代理服务器很可能会自动将这些缓存验证程序添加到您的页面,而本地主机上的服务器则不然。如果是这样,您可以尝试删除它们。也许服务器管理员已配置mod_expires(您可以在.htaccess中覆盖它)。如果它是由您的浏览器和服务器之间的代理服务器引起的,那么您可能没有太多选择。
其他一些有趣的事情:
另请注意,如果您通过代理服务器访问Web,这也会影响到某些事情,包括您收到的缓存标头。
答案 1 :(得分:0)
刷新,然后重新加载?是否有页面交互将数据加载到选择框中?
这听起来像是存在浏览器缓存问题,或者是加载数据的异常顺序,但我们需要更多详细信息来了解如何复制它。
答案 2 :(得分:0)
我一直在研究这个问题。事实证明,这个缓存问题只发生在通过我的互联网提供商访问网站时! (如果我从家里或通过其他提供商访问它,那就没问题)。
**稍微纠正我原来的帖子**我必须(1)重新加载页面(2)保留网址