Php 在my localhost和之间返回值时出现问题;我的领域
我的本地主机(xampp windows)和域(FC7 linux)之间有一个令人困惑的区别。我有一个有很多数据库驱动的选择列表的页面。更新时,这些值将传递到更新数据库并向用户确认的页面。(我直接监控我的数据库,这是正确的) 有一个菜单选项可以返回到输入页面。在我的locahost上选择此选项将正确返回带有更新值的页面。在我的域中选择此选项将返回带有原始值的页面(例如,php脚本似乎未运行)。我必须刷新(调用查询),然后重新加载(将值加载到字段中),以获得要显示的新值Php 在my localhost和之间返回值时出现问题;我的领域,php,xampp,redhat,Php,Xampp,Redhat,我的本地主机(xampp windows)和域(FC7 linux)之间有一个令人困惑的区别。我有一个有很多数据库驱动的选择列表的页面。更新时,这些值将传递到更新数据库并向用户确认的页面。(我直接监控我的数据库,这是正确的) 有一个菜单选项可以返回到输入页面。在我的locahost上选择此选项将正确返回带有更新值的页面。在我的域中选择此选项将返回带有原始值的页面(例如,php脚本似乎未运行)。我必须刷新(调用查询),然后重新加载(将值加载到字段中),以获得要显示的新值 到目前为止,我的经验是模板
到目前为止,我的经验是模板将PHP和HTML分开,所以我以前从未遇到过这个问题。我尝试了许多替代方案,但收效甚微-有什么想法吗?刷新,然后重新加载?是否存在将数据加载到选择框中的页面交互
听起来这里有浏览器缓存问题,或者加载数据的顺序不正常,但我们需要更多详细信息来了解如何复制它。您收到的错误响应很可能来自缓存 您可以使用查找服务器发送的缓存头,也可以使用Firefox插件确定 您需要注意的是:
- Expires:标题告诉浏览器在某个日期之前重新使用同一页面进行进一步请求,而无需从服务器进行检查。对于缓存控件:头中的max age=节也是如此。也就是说,如果您看到Expires标头或max age部分,则浏览器可能会返回过时(过期)页面,而不会返回到服务器
- 如果某个操作需要更改服务器上的某些内容,那么应该使用POST请求而不是GET请求。对POST请求的响应永远不会被缓存(虽然,如果您缓存了,那么get after可能会被缓存,但这是另一回事)
- 请注意,当您在“localhost”上访问某个内容时,与在任何其他域上访问该内容时,浏览器缓存的行为可能会有所不同,即使服务器配置相同并发送相同的头。至少Firefox就是这样(我自己也见过)。IE也有不同的安全区域,这可能会影响缓存,使其在本地主机上的行为有所不同
- 您可以强制服务器输出缓存控制:无缓存头和Pragma:no Cache头。这可以在PHP中使用两个header()函数调用来完成。虽然浏览器和代理不应该默认为在没有提供验证器的情况下返回过时结果的行为,但这至少表明您绝对不希望缓存某些内容
另外请注意,如果您通过代理服务器访问web,这也可能会影响一些事情,包括您收到的缓存头。我一直在进一步研究这个问题。事实证明,只有通过my works internet提供商访问站点时,才会出现此缓存问题!(如果我从家里或通过其他提供商访问它就可以了)
**对我的原始帖子稍加修改**我必须(1)重新加载页面(2)保留URL,您也可以使用Firebug,我建议使用Firebug。