我只是在验证我的网页并解决错误。我的场景是我有一个结构,我通过<?php include ('header.php') ?>
和我的导航文件导入头文件。现在,在浏览器中看到它可行,但是当我使用XHMTL1.1严格验证时,它会出现错误。
所以我有一个index.php,它同时导入了header.php和navigation.php - 现在我正在写这个,我意识到navigation.php没有将css文件导入到它中,但验证器是不只是阅读HTML?那么它应该拿起来看看它能获得信息吗?
请告诉我,如果我在这条路上正确,否则您似乎牺牲了结构化网站的验证?
干杯杰夫PS新年快乐: - )
编辑代码:
URI:http://thepalmsmarket.co.nz/index.php a 276 9没有属性“id”a 276 24没有属性“class”a 276 38元素“nav”未定义
我这是最后的错误,它们与此代码有关:
的index.php:
<?php include_once ("01includes/header.php"); ?>
</head><!--hmtl tag closes in the footer-->
<body class="no-js"><!--The script here is to disable the class put into the body tag if javascript is enabled.-->
<?php include_once ("01includes/navigation.php"); ?>
navigation.php:
<nav id="topNav" class="centeredmenu">
<ul>
<?php
$subject_set = mysql_query("SELECT * FROM webMenu", $dbconnect);
if (!$subject_set) {
die("Database query failed: " . mysql_error());
}
while ($subject = mysql_fetch_array($subject_set)) {
echo "<li class=\"{$subject["class"]}\"><a href=\" {$subject["link"]}\" onclick=\"{$subject["javascript"]}\" title=\"{$subject["title"]}\">{$subject["menuItem"]}</a></li>"; }
?>
</ul>
css是在desktop.css中声明的,它被导入到header.php中,但不会导入到navigation.php中,因为这会是双倍的 - 希望有意义: - )
答案 0 :(得分:1)
好消息:与PHP无关。您似乎正在使用nav
标记,这是HTML5中的新标记,同时针对XHTML 1.1 Strict进行验证。如果您切换到HTML5声明,以便您可以以一种漂亮,有效,语义的方式使用nav
,那么您将不得不追查其他一些验证错误(主要与meta标签相关,然后在代码中进一步使用已弃用的border
属性 - 验证错误应该是不言自明的。如果您想继续使用XHTML,请放弃使用nav
以使其有效。