Avatar billede s_f Nybegynder
27. marts 2006 - 12:21 Der er 5 kommentarer og
1 løsning

W3 validering

Min index fil inderholder dettet:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="test" content="text/html; charset=iso-8859-1" />
<title>test</title>
</head>
<body>
<?php if (isset($_GET['page'])) { include($_GET['page']); } else { include("front.php"); } ?>
</body>
</html>

Udfra det, for jeg nederstående 2 fejl - jeg har ikke kunnet gennemskue hvad jeg skal gøre for at rette det, nogle ideer?


# Error  Line 8 column 2: "DOCTYPE" declaration not allowed in instance.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or

&#9993;
# Error Line 9 column 42: document type does not allow element "html" here.

<html xmlns="http://www.w3.org/1999/xhtml">

The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed).

One common cause for this error is the use of XHTML syntax in HTML documents. Due to HTML's rules of implicitly closed elements, this error can create cascading effects. For instance, using XHTML's "self-closing" tags for "meta" and "link" in the "head" section of a HTML document may cause the parser to infer the end of the "head" section and the beginning of the "body" section (where "link" and "meta" are not allowed; hence the reported error).
Avatar billede douglas Nybegynder
27. marts 2006 - 12:40 #1
Smider jeg den tekst dér ind i W3's validator, får jeg bare "tillykke" tilbage...

Så ingen fejl her.
Avatar billede davidfossil Nybegynder
27. marts 2006 - 13:05 #2
Det er meget flot, douglas, men nu er der jo serverside PHP i den source s_f har givet os.

Problemet er at der i linjen
<?php if (isset($_GET['page'])) { include($_GET['page']); } else { include("front.php"); } ?>
inkluderes en anden side i den side hvor scriptet kører. Dette resulterer i at der kommer til at optræde to DOCTYPE's og to html elementer i dokumentet, hvilket validatoren brokker sig over.
Avatar billede davidfossil Nybegynder
27. marts 2006 - 13:07 #3
Prøv en gang selv at gå ind på den side du vil validere, og se på kildekoden. I linje 8 finder du en <!DOCTYPE.. erklæring og det er her tråden knækker. W3C's validator har endvidere en checkbox "Show source" som hvis markeret får validatoren til at printe hele kildekoden til det den forsøger at validere.
Avatar billede s_f Nybegynder
27. marts 2006 - 14:41 #4
Vil de sige jeg kan se bort fra problemet, eller skal jeg fjerne <!DOCTYPE! et sted ?

Fordi, fjerner jeg det i index.php brokker validatoren sig over det - men fjerner jeg det i front.php og kun validere den side brokker den sig selvfølgelig os, hvad skal jeg gøre?
Avatar billede davidfossil Nybegynder
27. marts 2006 - 18:27 #5
Du skal fjerne doctype erklæringen samt html, head og body elementerne i front.php og alle andre sider som du loader ind gennem den "template". Når du så skal validere bliver du nødt til at gøre det gennem din template.
Avatar billede s_f Nybegynder
27. marts 2006 - 21:13 #6
Sad lige selv og rodede med det og fandt frem til samme resultat - tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester