[HTML] Validationsproblem

Lord Alien

Lt. Junior Grade
Registriert
Apr. 2007
Beiträge
258
Hallo Community,

ich hab ein Problem mit einer Seite, die Startseite, meiner Page und zwar folgendes:

Ich hab die oben genannte Seite duch den WC3 Validator gejagt und 4 Fehler bekommen.

Allerdings verstehe ich nicht WARUM der Fehler kommt. Da der Validator Dinge bemängelt die ihn eigentlich gar nichts angehen !? Müsste der Validator es nicht komplett ignorieren was in einem <a href="xx"></a> steht ??

Wäre nett wenn mir da jmd auf die Sprünge helfen könnte.

Denn Quelltext habe ich angehängt.
 

Anhänge

Nein, denn & ist für Zeichenkodierung reserviert. Du solltest &amp; verwenden.
Außerdem darf da kein <body> stehen ohne <head>, welches im <?php ?> Tag steht, was vollkommen unsinnig ist.

Der Validator hat also vollkommen recht.

/edit:

Das ganze halbwegs in Ordnung gebracht:
PHP:
<?php
	// Variable definieren
	$root_path ="";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  <meta http-equiv="content-style-type" content="text/css">
  <title>Die H&auml;fners: Startseite</title>
  <link rel="stylesheet" type="text/css" href="<?=$root_path?>formate,hp.css">
  <style type="text/css">
  </style>
 </head>
 <body class="rest">
  <div class="kopfzl"> <?php include($root_path."kopfzl.php"); ?> </div>
  <div class="navpos"> <?php include ($root_path."naviga.php"); ?> </div>
  <div class="sufu"> <?php include ($root_path."sufu/sufu.php"); ?> </div>
  <div class="inhalt">
   <h2>Die-H&auml;fners: Startseite</h2>
    <table border="0" cellpadding="0" cellspacing="0">
     <tr>
      <td align="center"><span class="Haefner1">Die-<span class="Haefner2">H&auml;fner</span>s</span></td></tr>
     <tr>
     <td width="310" align="center">
	  <font size="3">vom F&ouml;rstleinweg in <a href="http://www.eberstadt.org/">Eberstadt</a></font>
	  <p><font size="3"><a href="<?=$root_path?>freihf/freihf.php" title="Zum Freizeithof" target="_self">FREI-Zeit-Hof</a></font></p>
	  <p><font size="3"><a href="<?=$root_path?>inhalt/inhalt.php" target="_self"><img src="<?=$root_path?>bilder/whof01.jpg" border="0" width="253" height="172" alt="Das Paradies auf Erden"></a></font></p>
      <p><font size="3">&nbsp;<br></font>
     </td>
     <td>
      <font size="3">
       <br><br>
	   Fam. W. H&auml;fner<br>
	   E b e r s t a d t<br>
	   F&ouml;rstleinweg &nbsp; 5<br>
	   <a href= "http://www.buchen.de/index.php?option=com_content&amp;task=view&amp;id=28&amp;lang=de" title="Buchen" target="_new">74722 Buchen</a><br>
	   Tel.: 06292 / 443<br>
	   eMail:<br>
	   <a href="../mailbx/mailbx.php" target="_self">info@die-Haefners.de</a><br>
	   Fax-Nummer: 06292/928510
      </font>
     </td>
    </tr>
   </table>
  </div>
  <div class="fußzei">
   <?php include($root_path."fußzei.php"); ?>
  </div>
 </body>
</html>
 
Zuletzt bearbeitet:
DANKESCHÖN für die Schnelle und direkte Antwort.

Nur eins hab ich nicht ganz verstanden und zwar folgenden Satz:

>>Außerdem darf da kein <body> stehen ohne <head>, welches im <?php ?> Tag steht, was vollkommen unsinnig ist.

1. Warum ist es unsinnig wenn der <head></head> komplett in einem <?php ?> Tag steht ??

2. kein body ohne head ?? :watt: Da versteh ich leider nur Bahnhof. Ich habe doch ein head & ein body und auch in der richtigen Reihenfolge ;) Was ist da dran verkehrt??

mfg :alien_alt:
 
Na ja, vollkommen sinnlos ist es ja nun nicht. Schließlich kommt im Kopfbereich eine Variable vor. Natürlich könnte er auch einfach nur die Variable per <?php echo $root_path; ?> ausgeben lassen (was ich auch empfehlen würde). Trotz alledem ist dieser Satz hier... ich sag mal problematisch.
Backslash schrieb:
Außerdem darf da kein <body> stehen ohne <head>, welches im <?php ?> Tag steht, was vollkommen unsinnig ist.
Das hört sich nämlich gerade so an, als ob es in seiner Datei keinen Kopfbereich gäbe - was ja aber nicht der Fall ist.
 
Naja, ich sage damit, dass praktisch (für den Validator) kein <head> da ist, weil dieser den Code innerhalb des <?php /* CODE */ ?> ignoriert wird. Aber ok, war etwas "problematisch" ;) formuliert. Und dass das unsinnig ist finde ich immer noch :P
 
>> Naja, ich sage damit, dass praktisch (für den Validator) kein <head> da ist, weil dieser den Code innerhalb des <?php /* CODE */ ?> ignoriert wird.

Der Validator validiert ja aber nicht den Quelltext, sondern den HTML-Code, der von dem Quelltext erzeugt wurde. Der Validator hat schließlich gar keine Möglichkeit über HTTP an den Quelltext zu gelangen. Somit ist auch für den Validator der Kopfbereich vorhanden. (Wie es ausschaut, wenn man direkt beim Validator eine Datei hochlädt, weiß ich leider nicht.)
 
Genau das meine ich doch. So lange man den Source direkt eingibt wird natürlich der PHP-Code ignoriert.
Lässt man per URL validieren wird es natürlich keine Probleme geben. Trotzdem ist es (ich wiederhole mich...) unsinnig den ganzen <head> Block per PHP zu echoen.
 
Ja wer soll den darauf kommen? Im Eröffnungsposting wurde dem Validator zumindest eine URI übergeben und kein Direct Input. ;) Und somit dürfte Lord Alien dieses Problem auch gar nicht gehabt haben.
 
Nach langer diskussion würde ich abschließend sagen:

Es lag an dem "&" welches ich dann durch "&amp;" ersetzt habe. Danach wurde die Seite auch für Valide gehalten.

Und man kann drüber streiten ob es nun sinnlos ist denn ganzen head bereich zu echoen (was ein blödes wort ;) ) oder nicht.

Aber da mein Problem beseitigt wurde bedanke ich mich nochmals bei Backslash.
 
"auszugeben" = "echoen", wie wäre es damit? :D
 
Nein, wenn dann "Ausgabe per PHP mit der Echo-Funktion". Und dann fand ich echoen doch besser weil kürzer :P
 
Zurück
Oben