Avatar billede Frederik Nybegynder
08. november 2009 - 14:38 Der er 10 kommentarer og
1 løsning

Fejl ved validering af hjemmeside

Jeg får 4 fejl ved validering af index.php?pageid=3, men jeg kan ikke lige gennemskue hvordan jeg retter dem.:


Validation Output:  4 Errors

  1. Error Line 151, Column 7: end tag for "DIV" omitted, but its declaration does not permit this

      </body>

      &#9993;
          * You forgot to close a tag, or
          * you used something inside this tag that was not allowed, and the validator is complaining that the tag should be closed before such content can be allowed.

      The next message, "start tag was here" points to the particular instance of the tag in question); the positional indicator points to where the validator expected you to close the tag.
  2. Info Line 60: start tag was here

      ><div class="sideskift">

  3. Error Line 151, Column 7: end tag for "DIV" omitted, but its declaration does not permit this

      </body>

      &#9993;
          * You forgot to close a tag, or
          * you used something inside this tag that was not allowed, and the validator is complaining that the tag should be closed before such content can be allowed.

      The next message, "start tag was here" points to the particular instance of the tag in question); the positional indicator points to where the validator expected you to close the tag.
  4. Info Line 42, Column 1: start tag was here

          <div id="contentmidt">

  5. Error Line 151, Column 7: end tag for "DIV" omitted, but its declaration does not permit this

      </body>

      &#9993;
          * You forgot to close a tag, or
          * you used something inside this tag that was not allowed, and the validator is complaining that the tag should be closed before such content can be allowed.

      The next message, "start tag was here" points to the particular instance of the tag in question); the positional indicator points to where the validator expected you to close the tag.
  6. Info Line 40, Column 1: start tag was here

          <div id="content">

  7. Error Line 151, Column 7: end tag for "DIV" omitted, but its declaration does not permit this

      </body>

      &#9993;
          * You forgot to close a tag, or
          * you used something inside this tag that was not allowed, and the validator is complaining that the tag should be closed before such content can be allowed.

      The next message, "start tag was here" points to the particular instance of the tag in question); the positional indicator points to where the validator expected you to close the tag.
  8. Info Line 13: start tag was here

      ><div id="center">



index.php:
<?php session_start();?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
    <?
    $pageid = $_GET['pageid'];
    ?>
<html>
<head>
<title>test</title>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<link rel="stylesheet" type="text/css" href="style.css">
</head>



<body>
<div id="center">
   
    <div id="banner">
   
    </div>

    <div id="menu">
      <div id="menutop"><h1>Menu</h1></div>
      <div id="menucontent">
        <?
        include "menu.php";
        ?>
        </div>
      <div id="menubund"></div>
    </div>

    <div id="content">
    <div id="contenttop"></div>
    <div id="contentmidt">

        <?
        if($pageid == "1"){ include("content/forside.php");
        }
        else if($pageid == "2"){ include("content/info.php");
        }
        else if($pageid == "3"){ include("content/nyheder.php");
        }
        else if($pageid == "4"){ include("content/aktiviteter.php");
        }
        else if($pageid == "5"){ include("content/skadesliste.php");
        }
        else if($pageid == "6"){ include("content/links.php");
        }
        else if($pageid == "7"){ include("content/sitemap.php");
        }
        else if($pageid == "8"){ include("admin/login/adduser.php");
        }
        else if($pageid == "9"){ include("admin/login/adduser_confirm.php");
        }
        else if($pageid == "10"){ include("admin/login/login.php");
        }
        else if($pageid == "11"){ include("admin/login/login_confirm.php");
        }
        else if($pageid == "12"){ include("admin/login/login_req.php");
        }
        else if($pageid == "13"){ include("nyhedsarkiv/add.php");
        }
        else if($pageid == "14"){ include("nyhedsarkiv/add-ok.php");
        }
        else if($pageid == "15"){ include("nyhedsarkiv/forside/add.php");
        }
        else if($pageid == "16"){ include("nyhedsarkiv/admin_link.php");
        }
        else if($pageid == "17"){ include("nyhedsarkiv/link_edit_ok.php");
        }
        else if($pageid == "18"){ include("nyhedsarkiv/forside/add-ok.php");
        }
        else if($pageid == "19"){ include("nyhedsarkiv/forside/admin_link.php");
        }
        else if($pageid == "20"){ include("nyhedsarkiv/forside/link_edit_ok.php");
        }
        else if($pageid == "21"){ include("nyhedsarkiv/info/add.php");
        }
        else if($pageid == "22"){ include("nyhedsarkiv/info/add-ok.php");
        }       
        else if($pageid == "23"){ include("nyhedsarkiv/info/admin_link.php");
        }   
        else if($pageid == "24"){ include("nyhedsarkiv/info/link_edit_ok.php");
        }
        else if($pageid == "25"){ include("nyhedsarkiv/aktiviteter/add.php");
        }
        else if($pageid == "26"){ include("nyhedsarkiv/aktiviteter/add-ok.php");
        }       
        else if($pageid == "27"){ include("nyhedsarkiv/aktiviteter/admin_link.php");
        }   
        else if($pageid == "28"){ include("nyhedsarkiv/aktiviteter/link_edit_ok.php");
        }           
        else { include("content/forside.php");
        }
        ?>

    </div>

    <div id="contentbund"><br><br></div>
    </div>



   
</div>





</body>
</html>












nyheder.php

<?php
if($_SESSION['rank'] == 1){
?>
<?
require("config.php");
$pr_side = 5;
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM nyhedsdatabase"),0) or die(mysql_error());
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;

$query = mysql_query("SELECT overskrift, url, kilde, type, beskrivelse, DATE_FORMAT(CONVERT_TZ(datetime, '+00:00', '+01:00'), '%d-%m-%Y %H:%i:%s') as dato, id FROM nyhedsdatabase ORDER BY dato desc, overskrift limit $vis_fra, $pr_side") or die(mysql_error());
while($row = mysql_fetch_assoc($query)) {
define('MAX_HEADLINE_WIDTH', 25);
$link = (strlen($row['url'])>MAX_HEADLINE_WIDTH) ? substr($row['url'], 0, MAX_HEADLINE_WIDTH-3)."..." : $row['url'];
?>

<?php
$newurl = htmlspecialchars("$row[url]", ENT_QUOTES);
?>

<?php
$link = htmlspecialchars("$link", ENT_QUOTES);
?>

<div class="indholdtop"><?php  echo"<h1>".$row['overskrift']."</h1><h2>Tilføjet: ".$row['dato']." af Webmaster</h2>"; ?></div>
<div class="indholdcontent">
   
<div class="news"><?php echo"<b>Link:</b><a href=\"http://".$newurl."\" target=\"_blank\">".$link."</a>"; ?></div>
<div class="news"><?php echo"<b>Kilde:</b> ".$row['kilde']." ";?></div>
<div class="news"><?php echo"<b>Type:</b> ".$row['type'].""; ?></div><br>
<div class="news"><?php echo"<b>Beskrivelse:</b><br>".$row['beskrivelse'].""; ?></div>
<br>
<div class="news"><?php echo"<a href=\"index.php?pageid=16&id=".$row['id']."\">Ret/Slet</a> "; ?></div>
   
   
</div>
    <div class="indholdbund"></div>
    <br><br>

<div class="sideskift">

<?php
}

if ($vis_fra > 0) {
    $back= $vis_fra - $pr_side;
    echo "<a href='$_SERVER[PHP_SELF]?pageid=3&visfra=$back'><</a>";
}
$page = 1;

for ($start = 0; $antal > $start; $start = $start + $pr_side) {
    if($vis_fra != $page * $pr_side - $pr_side) {
        echo "<a href='$_SERVER[PHP_SELF]?pageid=3&visfra=$start'>$page</a>";
    } else {
        echo"<B>$page</B>";
    }
    $page++;
}

if ($vis_fra < $antal - $pr_side) {
    $next = $vis_fra + $pr_side;
    echo "<a href='$_SERVER[PHP_SELF]?pageid=3&visfra=$next'>></a>";
}
?>

</div>

<?php
} else {
require("config.php");
$pr_side = 5;
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM nyhedsdatabase"),0) or die(mysql_error());
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;

$query = mysql_query("SELECT overskrift, url, kilde, type, beskrivelse, DATE_FORMAT(CONVERT_TZ(datetime, '+00:00', '+01:00'), '%d-%m-%Y %H:%i:%s') as dato, id FROM nyhedsdatabase ORDER BY dato desc, overskrift limit $vis_fra, $pr_side") or die(mysql_error());
while($row = mysql_fetch_assoc($query)) {
define('MAX_HEADLINE_WIDTH', 25);
$link = (strlen($row['url'])>MAX_HEADLINE_WIDTH) ? substr($row['url'], 0, MAX_HEADLINE_WIDTH-3)."..." : $row['url'];
?>

<?php
$newurl = htmlspecialchars("$row[url]", ENT_QUOTES);
?>

<?php
$link = htmlspecialchars("$link", ENT_QUOTES);
?>

<div class="indholdtop"><?php  echo"<h1>".$row['overskrift']."</h1><h2>Tilføjet: ".$row['dato']." af Webmaster</h2>"; ?></div>
<div class="indholdcontent">
   
<div class="news"><?php echo"<b>Link:</b><a href=\"http://".$newurl."\" target=\"_blank\">".$link."</a>"; ?></div>
<div class="news"><?php echo"<b>Kilde:</b> ".$row['kilde']." ";?></div>
<div class="news"><?php echo"<b>Type:</b> ".$row['type'].""; ?></div><br>
<div class="news"><?php echo"<b>Beskrivelse:</b><br>".$row['beskrivelse'].""; ?></div>
   
   
    </div>
    <div class="indholdbund"></div>
    <br><br>

<div class="sideskift">

<?php
}

if ($vis_fra > 0) {
    $back= $vis_fra - $pr_side;
    echo "<a href='$_SERVER[PHP_SELF]?pageid=3&visfra=$back'><</a> ";
}
$page = 1;

for ($start = 0; $antal > $start; $start = $start + $pr_side) {
    if($vis_fra != $page * $pr_side - $pr_side) {
        echo "<a href='$_SERVER[PHP_SELF]?pageid=3&visfra=$start'>$page</a>";
    } else {
        echo"<b>$page</b>";
    }
    $page++;
}

if ($vis_fra < $antal - $pr_side) {
    $next = $vis_fra + $pr_side;
    echo "<a href='$_SERVER[PHP_SELF]?pageid=3&visfra=$next'>></a>";
}
?>
<?php
}
?>
</div>







Ligeledes har jeg svært ved at gennemskue om php-koen i nyheder.php er valid.



Jeg håber I kan hjælpe.


- XuZeM
Avatar billede Slettet bruger
08. november 2009 - 14:48 #1
Har du en online udgave ?
Avatar billede caspersch Nybegynder
08. november 2009 - 15:04 #2
Du mangler at afslutte nogle <div> tags...
Avatar billede Frederik Nybegynder
08. november 2009 - 15:09 #3
#2 nej desværre.

#3 kan du påpege hvor det er? Jeg synes ikke jeg kan se nogle ulukkede.


- XuZeM
Avatar billede caspersch Nybegynder
08. november 2009 - 15:55 #4
Du bliver nød til at kigge den generede fil igennem for at se alt er som det skal være, jeg gider ikke gøre det for dig :-)
Avatar billede Frederik Nybegynder
08. november 2009 - 19:14 #5
Som sagt kan jeg ikke finde nogle tags der ikke er lukket..
Avatar billede caspersch Nybegynder
08. november 2009 - 19:25 #6
Okay.

(det vil være meget nemere hvis du kunne smide, den generede HTML fil online)
Avatar billede wanze Nybegynder
08. november 2009 - 20:00 #7
Den PHP-kode du lige har smidt her til os, det er ikke det W3C's validator ser - det er kun dig, der kan se den. Validatoren har kun mulighed for at kigge i det output som alle andre brugere har - altså den kildekode siden generer. Det er derfor et kæmpe dobbelt arbejde, hvis vi først og fremmest skal gætte os til, hvad din kode generer, så vi kan regne ud, hvad fejlen består i.

Som det er nævnt tidligere, så må du enten linke til siden eller smide den genererede kildekode til osv, helst på www.pastebin.com e.lign.
Avatar billede wanze Nybegynder
08. november 2009 - 20:03 #8
Noget helt andet er, at du kan gøre:

        if($pageid == "1"){ include("content/forside.php");
        }
        else if($pageid == "2"){ include("content/info.php");
        }
        (...)
        else { include("content/forside.php");
        }

en del nemmere ved at anvende switch/case i PHP:

      switch($pageid) {
            case '1': include("content/forside.php"); break;
            case '2': include("content/info.php"); break;
            (...)
            default: include("content/forside.php"); break;
Avatar billede Frederik Nybegynder
09. november 2009 - 09:04 #9
Her er outputtet:


  1.  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <title>Test</title>
  6. <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
  7. <link rel="stylesheet" type="text/css" href="style.css">
  8. </head>
  9.
  10.
  11.
  12. <body>
  13. <div id="center">
  14.
  15. <div id="banner">
  16.
  17. </div>
  18.
  19. <div id="menu">
  20. <div id="menutop"><h1>Menu</h1></div>
  21. <div id="menucontent">
  22.
  23. <ul>
  24. <li><a href="index.php?pageid=1">Forside</a></li>
  25. <li><a href="index.php?pageid=2">Info</a></li>
  26. <li><a href="index.php?pageid=3">Nyheder</a></li>
  27. <li><a href="index.php?pageid=4">Aktiviteter</a></li>
  28. <li><a href="index.php?pageid=5">Skadesliste</a></li>
  29. <li><a href="forum/index.php" target="_blank">Forum</a></li>
  30. <li><a href="index.php?pageid=6">Links</a></li>
  31. <li><a href="index.php?pageid=7">Sitemap</a></li>
  32. <li><a href="index.php?pageid=10">Admin login</a></li>
  33.
  34.
  35.
  36. </ul> </div>
  37. <div id="menubund"></div>
  38. </div>
  39.
  40. <div id="content">
  41. <div id="contenttop"></div>
  42. <div id="contentmidt">
  43.
  44.
  45.
  46.
  47. <div class="indholdtop"><h1>SSW vil bringe CO2 op i Folketinget</h1><h2>Tilføjet: 03-11-2009 18:57:30 af Webmaster</h2></div>
  48. <div class="indholdcontent">
  49.
  50. <div class="news"><b>Link:</b><a href="http://fla.de/?UNF=1&amp;G=328" target="_blank">fla.de/?UNF=1&amp;G=328</a></div>
  51. <div class="news"><b>Kilde:</b> Flensborg Avis Online</div>
  52. <div class="news"><b>Type:</b> Artikel</div><br>
  53. <div class="news"><b>Beskrivelse:</b><br>Ingen beskrivelse</div>
  54.
  55.
  56. </div>
  57. <div class="indholdbund"></div>
  58. <br><br>
  59.
  60. <div class="sideskift">
  61.
  62.
  63.
  64.
  65. <div class="indholdtop"><h1>CO2-protester tager til</h1><h2>Tilføjet: 03-11-2009 18:51:24 af Webmaster</h2></div>
  66. <div class="indholdcontent">
  67.
  68. <div class="news"><b>Link:</b><a href="http://dr.dk/Regioner/Nord/Nyheder/Jammerbugt/2009/06/20/065920.htm" target="_blank">dr.dk/Regioner/Nord/Ny...</a></div>
  69. <div class="news"><b>Kilde:</b> DR</div>
  70. <div class="news"><b>Type:</b> Artikel</div><br>
  71. <div class="news"><b>Beskrivelse:</b><br>Ingen beskrivelse</div>
  72.
  73.
  74. </div>
  75. <div class="indholdbund"></div>
  76. <br><br>
  77.
  78. <div class="sideskift">
  79.
  80.
  81.
  82.
  83. <div class="indholdtop"><h1>Opfordrer til CO2-modstand</h1><h2>Tilføjet: 03-11-2009 18:50:19 af Webmaster</h2></div>
  84. <div class="indholdcontent">
  85.
  86. <div class="news"><b>Link:</b><a href="http://nordjyske.dk/jammerbugt/forside.aspx?ctrl=10&amp;data=26%2c3300238%2c2875%2c3" target="_blank">nordjyske.dk/jammerbug...</a></div>
  87. <div class="news"><b>Kilde:</b> Nordjyske</div>
  88. <div class="news"><b>Type:</b> Artikel</div><br>
  89. <div class="news"><b>Beskrivelse:</b><br>Ingen beskrivelse</div>
  90.
  91.
  92. </div>
  93. <div class="indholdbund"></div>
  94. <br><br>
  95.
  96. <div class="sideskift">
  97.
  98.
  99.
100.
101. <div class="indholdtop"><h1>Modstandere af CO2-lager øjner håb</h1><h2>Tilføjet: 03-11-2009 18:49:06 af Webmaster</h2></div>
102. <div class="indholdcontent">
103.
104. <div class="news"><b>Link:</b><a href="http://dr.dk/Regioner/Nord/Nyheder/Jammerbugt/2009/07/05/085716.htm" target="_blank">dr.dk/Regioner/Nord/Ny...</a></div>
105. <div class="news"><b>Kilde:</b> DR</div>
106. <div class="news"><b>Type:</b> Artikel</div><br>
107. <div class="news"><b>Beskrivelse:</b><br>Ingen beskrivelse</div>
108.
109.
110. </div>
111. <div class="indholdbund"></div>
112. <br><br>
113.
114. <div class="sideskift">
115.
116.
117.
118.
119. <div class="indholdtop"><h1>Nordjyder vil stoppe CO2-lagringsprojekt</h1><h2>Tilføjet: 03-11-2009 18:48:02 af Webmaster</h2></div>
120. <div class="indholdcontent">
121.
122. <div class="news"><b>Link:</b><a href="http://ing.dk/artikel/98582-nordjyder-vil-stoppe-co2-lagringsprojekt" target="_blank">ing.dk/artikel/98582-n...</a></div>
123. <div class="news"><b>Kilde:</b> Ingeniøren</div>
124. <div class="news"><b>Type:</b> Artikel</div><br>
125. <div class="news"><b>Beskrivelse:</b><br>Ingen beskrivelse</div>
126.
127.
128. </div>
129. <div class="indholdbund"></div>
130. <br><br>
131.
132. <div class="sideskift">
133.
134. <b>1</b><a href='/index.php?pageid=3&amp;visfra=5'>2</a><a href='/index.php?pageid=3&amp;visfra=10'>3</a><a href='/index.php?pageid=3&amp;visfra=15'>4</a><a href='/index.php?pageid=3&amp;visfra=20'>5</a><a href='/index.php?pageid=3&amp;visfra=25'>6</a><a href='/index.php?pageid=3&amp;visfra=5'>></a>
135. </div>
136.
137. </div>
138.
139. <div id="contentbund"><br><br></div>
140. </div>
141.
142.
143.
144.
145. </div>
146.
147.
148.
149.
150.
151. </body>
152. </html>



og fejlene er:


Validation Output:  4 Errors

  1. Error Line 151, Column 7: end tag for "DIV" omitted, but its declaration does not permit this

      </body>

      &#9993;
          * You forgot to close a tag, or
          * you used something inside this tag that was not allowed, and the validator is complaining that the tag should be closed before such content can be allowed.

      The next message, "start tag was here" points to the particular instance of the tag in question); the positional indicator points to where the validator expected you to close the tag.
  2. Info Line 60: start tag was here

      ><div class="sideskift">

  3. Error Line 151, Column 7: end tag for "DIV" omitted, but its declaration does not permit this

      </body>

      &#9993;
          * You forgot to close a tag, or
          * you used something inside this tag that was not allowed, and the validator is complaining that the tag should be closed before such content can be allowed.

      The next message, "start tag was here" points to the particular instance of the tag in question); the positional indicator points to where the validator expected you to close the tag.
  4. Info Line 42, Column 1: start tag was here

          <div id="contentmidt">

  5. Error Line 151, Column 7: end tag for "DIV" omitted, but its declaration does not permit this

      </body>

      &#9993;
          * You forgot to close a tag, or
          * you used something inside this tag that was not allowed, and the validator is complaining that the tag should be closed before such content can be allowed.

      The next message, "start tag was here" points to the particular instance of the tag in question); the positional indicator points to where the validator expected you to close the tag.
  6. Info Line 40, Column 1: start tag was here

          <div id="content">

  7. Error Line 151, Column 7: end tag for "DIV" omitted, but its declaration does not permit this

      </body>

      &#9993;
          * You forgot to close a tag, or
          * you used something inside this tag that was not allowed, and the validator is complaining that the tag should be closed before such content can be allowed.

      The next message, "start tag was here" points to the particular instance of the tag in question); the positional indicator points to where the validator expected you to close the tag.
  8. Info Line 13: start tag was here

      ><div id="center">
Avatar billede Frederik Nybegynder
09. november 2009 - 09:15 #10
Har fundet løsningen:
af en eller anden grund blev nedenstående div's ikke opfattet rigtigt:



<div class="sideskift">

<?php
}

if ($vis_fra > 0) {
    $back= $vis_fra - $pr_side;
    echo "<a href='$_SERVER[PHP_SELF]?pageid=3&visfra=$back'><</a> ";
}
$page = 1;

for ($start = 0; $antal > $start; $start = $start + $pr_side) {
    if($vis_fra != $page * $pr_side - $pr_side) {
        echo "<a href='$_SERVER[PHP_SELF]?pageid=3&visfra=$start'>$page</a>";
    } else {
        echo"<b>$page</b>";
    }
    $page++;
}

if ($vis_fra < $antal - $pr_side) {
    $next = $vis_fra + $pr_side;
    echo "<a href='$_SERVER[PHP_SELF]?pageid=3&visfra=$next'>></a>";
}
?>
<?php
}
?>
</div>
Avatar billede caspersch Nybegynder
09. november 2009 - 18:42 #11
Så var mit svar vel heller ikke forkert :-)?
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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