【问题标题】:Internet Explorer not rendering pages correctly because of a PHP class由于 PHP 类,Internet Explorer 无法正确呈现页面
【发布时间】:2012-03-08 15:41:09
【问题描述】:

我有一个非常奇怪的问题,我不知道该怎么办。我的网站似乎在 Internet Explorer 以外的所有浏览器上都可以正常工作,所以我一直在试图找出原因。

我已将其范围缩小为包含在我的站点中的一个文件,该文件是一个 php 类,具有许多不同的功能,例如登录 getter 和 setter 等。

我把所有的 php 代码从我的页面中取出,它渲染得很好,所以我逐行添加了 php,并发布它在我使用它时停止工作:

 require_once 'classes/Membership2.php';

有谁知道为什么某些 php 代码会影响我网站的风格。

有关此事的更多详细信息,我有许多居中的 div,它们都有弯曲的边缘和阴影。因此,通过删除 php,我可以看到 IE 正在正确加载页面,没有不兼容或类似的东西。

以前有人遇到过这样的问题吗?当我在等待一两个真棒时,我将删除函数和部分代码,直到我可以缩小范围。 (我会给出代码,但是文件有很多行代码。)

感谢您的帮助。

哦,是的,我正在 Internet Explorer 9 上进行测试,其他所有浏览器都是最新版本或足够接近。

好的,所以我对此进行了更多研究,我发现如果我删除类中的所有代码(所有函数)并在包含文件中只留下空类,它仍然不起作用.好的,所以在我看来,这意味着功能不是造成这个问题的原因。所以我删除了所有内容,所以现在包含指向一个空白的 php 文件。这工作并且页面呈现了它应该但显然没有功能,我无法登录或类似的东西。我决定添加一个构造函数而不是将其保留为默认值,这个函数除了返回 true 什么都不做;这让网站再次陷入混乱。

这些信息有什么改变吗?此外,我重申我没有收到此错误或任何其他浏览器,但 Internet Explorer 9(尚未尝试任何其他 IE 版本)。

再次感谢您的帮助。

好的,我已经解决了这个问题。在我使用的 PHP 课程开始时

 <!-- blah blah blah -->

忘记了这个文档中只有 PHP 而没有 HTML。因此,当我包含文件时,它只是将其输出到我的源代码中并搞砸了,应该使用 PHP 注释样式。

仍然奇怪的是,除了 IE 之外的每个浏览器都忽略了这一点并继续其业务,即使是 @blankabout 建议的网站也没有给我任何错误(尽管我保证那是因为它是包含的 PHP 文件的一部分,而不是HTML 本身)。

【问题讨论】:

  • 你比较过输出的 HTML 吗?
  • php 与您网站的设计无关。也许这个包含的文件也有 HTML 代码或 CSS STYLE。
  • @fajran 抱歉,我不确定你的意思是什么?
  • 保存两个脚本生成的 HTML 页面并检查差异。这两个脚本我的意思是一个没有包含的脚本和另一个包含包含的脚本。
  • @fajran 好吧,当我把包含文件拿走时,页面会按我想要的方式呈现,但是当我把它放回去时,容器不再居中、弯曲、阴影或正确内联。我真的很困惑为什么 php 脚本对 CSS 这样做,但只在 IE 上。

标签: php html css class


【解决方案1】:

正如@fajran 对您所说,在浏览器上使用“查看源代码”保存两个输出并比较它们以找出差异。要比较输出,请使用 winmerge 或类似工具。一旦你现在哪个文本产生了问题,请在包含文件中修改它。

【讨论】:

  • 请记住,有时 php 语句引发的错误会破坏有效的 html。在这种情况下更正该错误。始终检查生成的源代码,即使在好的页面上!!!!
  • 酷。谢谢,我现在就试一试。
【解决方案2】:

鉴于您的 php,因为它在服务器上运行,所以永远不会真正到达浏览器,很可能是一些未终止的 HTML 或类似的东西导致了问题。可能是 PHP 导致 HTML 出现意外中断。

【讨论】:

  • 是的,这就是我的想法,我一直在绞尽脑汁想弄清楚这一点。我想我必须用细齿梳检查所有的输出和输入。
  • 有没有我可以使用的工具来检查我的代码是否有未关闭的标签之类的东西?谢谢
  • 我试过了,它是一个非常有用的工具,但似乎没有帮助我找到我正在寻找的错误。我在原始问题中添加了更多细节。再次感谢您的帮助。
  • 您是否尝试过使用文本比较程序来比较包含和不包含包含的 html?这应该可以很容易地看到任何差异
  • @ianbarker 所以我会在有和没有包含文件的情况下运行页面,然后比较显示的源是吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-31
  • 2011-08-13
  • 2017-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多