作为 Treehouse.com 在线 PHP 类(class)的一部分,我在电子商务网站上工作。我遇到了一个问题,其中一个菜单项显示不正确,如下所示:http://herkuhleez.com/shirts4mike/
在他们的论坛中寻找答案后,另一名学生得出结论,这是新版本 PHP 的问题,因为旧版本没有显示问题,代码完全相同,如下所示:http://cheetahcandy.com/shirts4mike/
第一个示例(有错误)运行的是 PHP 5.4.24 版,第二个示例运行的是 5.2.17 版。我的本地主机服务器运行的是 5.5.6,我遇到了与第一个示例相同的错误。
然而,这个学生通过简单地更改与 css 选择器名称相同的任何 php 变量名称,发现了在较新版本中的解决方法,至少当 php 写在标签的类属性中时。
我的问题是:这是这些较新版本的 PHP 中的错误,还是它作为某种自动更正功能按预期工作?
编辑* 这是 Treehouse 的论坛讨论:https://teamtreehouse.com/forum/build-a-simple-php-application-adding-active-states-to-the-navigation-php-versions
最佳答案
如果您查看站点上的 CSS 并发现错误,您会注意到您的类 .section.shirts
在 style.css 的第 605 行有以下 css
padding-bottom: 42px;
background: #fff
有趣的是,如果你把这两个都去掉,它看起来和另一个网站完全一样。
另外,这个类里面还有一个错误:
shirts <br /> <b>Notice</b>: Undefined variable: section in <b>/home4/herkuhle/public_html/shirts4mike/inc/header.php</b> on line <b>17</b><br />
我会查看第 17 行的 header.php,看看是什么原因造成的。
关于php - 在较新的 PHP 版本中使用具有相同 CSS 选择器名称的 PHP 变量的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21459067/