2012-03-08 154 views
0

我有一个很奇怪的问题,我不知道该怎么做。我的网站似乎工作得很好,除了Internet Explorer以外的所有浏览器,所以我一直在努力弄清楚为什么。因为PHP类,Internet Explorer无法正确呈现页面

我已经缩小到我在我的网站中包含的一个文件,该文件是一个php类,它有许多不同的功能,如登录getter和setters等。

我把所有的PHP代码了我的网页,它呈现精细,所以我在一行行添加php的背部和发布它停止时,我用这个工作:

require_once 'classes/Membership2.php'; 

有谁知道为什么一些PHP代码会混淆我的网站风格。

有关此问题的更多详细信息,我有一些中心的div,它们都具有弯曲的边缘以及阴影。所以通过拿走php我可以看到IE浏览器正在加载页面,没有不兼容或类似的东西。

有没有人有过这样的问题?当我等待一个令人敬畏的或两个我会删除函数和代码的一部分,直到我可以缩小它。 (我会提供代码,但该文件有很多代码行)。

感谢您的帮助。

哦,是的,我正在测试Internet Explorer 9和其他浏览器是最新版本或足够接近。

好吧,所以我已经做了一些更深入的研究,我发现如果我删除了类中的所有代码(所有函数),并且在include文件中只留下空类,它仍然没有工作。好吧,所以在我看来,这意味着这些功能并不是造成这个问题的原因。所以我删除了一切,所以现在包括指向一个空白的PHP文件。这工作和页面呈现,因为它应该但显然没有功能,我不能登录或类似的东西。我决定添加一个构造函数,而不是将其保留为默认值,该函数只会返回true;并使网站再次陷入困境。

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

再次感谢您的帮助。

好吧,所以我解决了这个问题。在我开始使用PHP类时,我已经使用了

<!-- blah blah blah --> 

忘记本文档中只有PHP,并且没有HTML。所以,当我包含文件它只是输出到我的源代码和混乱的事情,应该使用PHP评论风格。

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

+2

你比较了输出HTML吗? – fajran 2012-03-08 15:43:40

+0

php与您网站的设计无关。也许这个包含文件也有HTML代码或CSS STYLE。 – 2012-03-08 15:43:50

+0

@fajran对不起,我不知道你是什么意思? – ragebunny 2012-03-08 16:09:08

回答

1

@fajran对你说,在浏览器中保存两个输出与“查看源代码”并比较它们以找出差异。比较输出使用winmerge或类似的工具。一旦你现在的文本产生了麻烦,请在include文件中修改它。

+0

请记住,某些时候由php语句抛出的错误会破坏有效的html。在那种情况下纠正这个错误。总是检查生成的源代码,即使在好的网页上! – 2012-03-09 11:53:19

+0

很酷。谢谢,我现在就给一个镜头。 – ragebunny 2012-03-09 11:55:53

1

鉴于您的php因为在服务器上运行,实际上永远不会到达浏览器,所以很可能会导致一些未终结的HTML或类似的问题。也许PHP正在导致意外的HTML中断。

+0

是的,我的想法,我一直在试图找出这个问题。我想我必须仔细检查所有的输出和细齿梳子的输入。 – ragebunny 2012-03-08 16:06:18

+0

有没有我可以使用的工具,将检查我的代码未封闭标签和类似的东西?谢谢 – ragebunny 2012-03-08 16:24:18

+1

http://validator.w3.org/为我工作 – blankabout 2012-03-08 18:08:58