Seite 1 von 1

[Invalid] Markup Validation

Verfasst: 06.07.2009, 20:07
von scupidu-onLINE
Hallo,

in 2 Punkten komme ich einfach nicht weiter.
Bzgl. unserer Unterseite
https://www.online-seilgarten.de/niedri ... erial.html
meckert Validator https://validator.w3.org immer rum.
Einmal wg. des Newsletter-Script,
zum anderen wegen dem Flash-Kalender

Was kann ich tun?

2tens:
Auch unsere Index-Datei
https://www.online-seilgarten.de/index.html
soll nicht valide sein - obwohl der Firefox-Validor Tidy sie ok findet.
Hier hängt es irgendwie an den News, die ich via magpierss aus unserem rrs-feed hole:

Hier der Quelltext dazu:
<?PHP
require_once('magpierss/rss_fetch.inc');

$url = 'https://www.online-seilgarten.de/blog/?feed=rss2';
$num_items = 3;
$rss = fetch_rss($url);

$items = array_slice($rss->items, 0, $num_items);

foreach ( $items as $item ) {
$title = $item[title];
$url = $item[link];
/* $desc = $item[description]; */
echo "<li><a href=$url>$title</a><br>$desc</li>
";
}

?>

Kann mir jemand bitte helfen?!

LG
scupidu[/quote]

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 06.07.2009, 20:32
von r00kie
Hier fehlen die Anführungszeichen des href Attributes:
echo "<li><a href=$url>$title</a><br>$desc</li>";
Das sollte es beheben:

Code: Alles auswählen

echo '<li><a href="' . $url . '">' . $title . '</a><br>' . $desc . '</li>';

Verfasst: 06.07.2009, 20:53
von scupidu-onLINE
Also so geht es leider nicht,
dann kommt:

Code: Alles auswählen

Parse error&#58; syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /www/htdocs/w00a9577/index.html on line 266

Verfasst: 06.07.2009, 21:00
von r00kie
Der Validator stolpert über das <embed> Tag, wenn ich mich recht entsinne kann das vernachlässigt werden, wenn man das folgendermaßen umformuliert:

Code: Alles auswählen

<object type="application/x-shockwave-flash" data="mycalendar2009.swf" width="200" height="220" id="CC2015622" align="middle">
<param name="movie" value="mycalendar2009.swf">
<param name="quality" value="high" >
<param name="FlashVars" value="ww=200&hh=220">
<param name="salign" value="lt" >
<param name="bgcolor" value="FFFFFF" >
<param name="src" value="mycalendar2009.swf">
</object>
Aber nagel mich bitte nicht fest, das liegt schon länger zurück. Vielleicht hilft Dir das weiter:
https://validator.w3.org/docs/help.html#faq-flash

Verfasst: 06.07.2009, 21:03
von r00kie
scupidu-onLINE hat geschrieben:Also so geht es leider nicht,
dann kommt:

Code: Alles auswählen

Parse error&#58; syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /www/htdocs/w00a9577/index.html on line 266
Das sollte aber gehen, poste mal die komplette foreach-Schleife.

Verfasst: 06.07.2009, 21:13
von scupidu-onLINE
ZU r00kie
also jetzt habe ich so geändert

Code: Alles auswählen

		echo "<li><a href='$url'>$title</a><br>$desc</li>"; 
und das klappt.
Dafür schon einmal einen dicken DANK !!


Nun geht es weiter ... mit den anderen Problemen.
Jemand noch Ideen zur
https://www.online-seilgarten.de/niedri ... erial.html ??

Verfasst: 06.07.2009, 21:27
von scupidu-onLINE
Also ich habe den Flash-Code umformuliert wie Du empfohlen hast.
Der Kalender funktioniert immer noch.
Der Validator meckerct jetzt nur noch etwas
Hier der Mecker-Link:
https://validator.w3.org/check?uri=http ... or%2F1.654

Code: Alles auswählen

Line 741, Column 39&#58; general entity "hh" not defined and no default entity
<param name="FlashVars" value="ww=200&hh=220">
gemeint ist wohl das "&" - nehme ich an.

weiterhin wird gemeckert bei:

Code: Alles auswählen

<form name="letteritform" action="http&#58;//www.online-seilgarten.de/niedrigseilgar
Line 672, Column 12: Attribute "NAME" is not a valid attribute. Did you mean "name"?

Verfasst: 06.07.2009, 21:30
von r00kie
Ja, genau einfach das & durch & ersetzen, also:

Code: Alles auswählen

<param name="FlashVars" value="ww=200&hh=220"> 

Verfasst: 06.07.2009, 21:32
von scupidu-onLINE
So ,
ich habe das Zeichen "&" nun noch gegen "&" ersetzt.
Das ist nun auch ok :-)

Bleibt zuletzt noch meine Frage, was der Validator anmerkt bezgl.
<form name="letteritform" action="https://www.online-seilgarten.de/niedrigseilgar


Please help.

Verfasst: 06.07.2009, 21:39
von r00kie
Das name Attribut existiert wohl nicht für das form Tag, daher name="letteritform" einfach entfernen.

Verfasst: 06.07.2009, 21:48
von scupidu-onLINE
Habe es nun auch gelöst.
Anstatt "form name" habe ich den code in "form id" geändert und alles ist nun valide :-) ??? warum auch immer - das verstehe ich nicht.

Dir r00kie ganz lieben Dank für deine kompetente Hilfe!

Verfasst: 07.07.2009, 08:43
von Mork vom Ork
scupidu-onLINE hat geschrieben:

Code: Alles auswählen

echo "<li><a href='$url'>$title</a><br>$desc</li>"; 
und das klappt.
Nein, das haut er dir spätestens wieder um die Ohren, sobald du im Titel oder der URL eines der Zeichen &, < oder > verwendest. Du musst Ausgaben immer durch htmlspecialchars() maskieren lassen, es sei denn, du willst ausdrücklich den Einsatz von HTML im ausgegebenen Text ermöglichen. Davon abgesehen hast du Fehler in deinem PHP-Code.

So ist es richtig:

Code: Alles auswählen

foreach &#40; $items as $item &#41; &#123; 
    echo '<li><a href="' . htmlspecialchars&#40;$item&#91;"link"&#93;&#41; . '">' . htmlspecialchars&#40;$item&#91;"title"&#93;&#41; . '</a></li>'; 
&#125;
Falls du die Beschreibung doch noch ausgeben möchtest:

Code: Alles auswählen

foreach &#40; $items as $item &#41; &#123; 
    echo '<li>';
    echo '<a href="' . htmlspecialchars&#40;$item&#91;"link"&#93;&#41; . '">' . htmlspecialchars&#40;$item&#91;"title"&#93;&#41; . '</a>';
    echo '<br>' . htmlspecialchars&#40;$item&#91;"description"&#93;&#41;;
    echo "</li>\n"; 
&#125;

Verfasst: 07.07.2009, 18:52
von scupidu-onLINE
WOW - ja
das habe ich umgesetzt und das funktioniert jetzt auvh
Vielen lieben Dank für die tolle Unterstützung.

Grüsse aus Stadthagen