Datenschutzerklärung

Slash am Ende eines HTML Dokuments?

Validome - Forum

Startseite Validome
RSS 2.0  
Sie sind nicht angemeldet. Atom 1.0  
Forum Home / HTML und XHTML-Forum /

Slash am Ende eines HTML Dokuments?

  Beitrag schreiben
Autor
Beitrag Seiten: 1
genius
Mitglied

Registriert: 06.05.2008
Beiträge: 5
Hallo,

vielleicht kann mir jemand bei folgendem Problem weiterhelfen. Ich habe kürzlich ein PHP Script für einen automatischen Sprachwechsel bzw. eine Spracherkennung (english / deutsch) in meine Seiten eingebaut. Über das Script wird hierzu auch eine Session gestartet (session_start();). Anschließend wird per include über den entsprechenden Sprachordner der entsprechende Content eingebunden. Nach der heutigen Validierung wird mir folgender Fehler angezeigt.

Fehler: Slash "/" am Ende eines Starttag gefunden. Diese Syntax ist, im Gegensatz zu XHTML, in HTML nicht erlaubt

Fehlerstelle: ...ype="hidden" name="PHPSESSID" value="5472a80285b5463ee517aa00705c36c1" />

Wie bekomme ich nun das Dokument in HTML valide? Leider habe ich von PHP nicht die geringste Ahnung, so dass mir vermutlich nur ein idiotensicherer Hinweis weiterhilft ;-).

Besten Dank und viele Grüße


06.05.2008 23:06:21
  Zitieren
HTMELL
Administrator

Registriert: 11.05.2006
Beiträge: 544
Hi,
der Fehler erklärt es doch ganz genau.
Entferne das "/" am Ende des Tag, das hat im übrigen nichts mit PHP, sondern mit HTML zu tun.


_______________________________________
mfg
Thomas Mell

www.validome.org

07.05.2008 00:30:34
  Zitieren
genius
Mitglied

Registriert: 06.05.2008
Beiträge: 5
Hallo,

der Tag steht nicht in meinem HTML Quellcode, sonst wäre natürlich klar was zu tun ist. Dieser wird vermutlich temporär von der PHP Session erzeugt (kenne mich da nicht so aus). Man sieht ja auch in der Fehlermeldung u.a. den Hinweis:

name="PHPSESSID"

Wie gesagt, in meinem HTML Quellcode gibt es am Ende keinen Slash den ich entfernen könnte.

Hat vielleicht noch jemand eine Idee?

Gruß

Beitrag geändert von genius (07.05.2008 18:55:28)


07.05.2008 18:55:07
  Zitieren
HTMELL
Administrator

Registriert: 11.05.2006
Beiträge: 544
Hi,
Du hast Recht, das input-Element wird von PHP automatisch ins HTML geschrieben. Ich hab auf die Schnelle keinen "Schalter" in der php.ini gefunden mit dem man den "/" unterdrücken kann, was nicht bedeutet das es er nicht existieren könnte.
Ansonsten könntest Du Deine Dokumente in XHTML erstellen oder die Session per Cookie abwickeln, dann wird das input-Element nicht ins HTML geschrieben.


_______________________________________
mfg
Thomas Mell

www.validome.org

07.05.2008 22:26:06
  Zitieren
genius
Mitglied

Registriert: 06.05.2008
Beiträge: 5
Salut,

besten Dank für Deine Unterstützung!

Beide Alternativen gefallen mir derzeit allerdings nicht so besonders, da ich a) den ganzen Quellcode in den Unterseiten umschreiben müsste oder b) Cookies nicht immer zugelassen werden. Vielleicht kennt jemand einen solchen Schalter für die PHP.ini. Falls nicht, so werde ich wohl übergangsweise erst einmal damit leben.

Viele Grüße


07.05.2008 22:34:37
  Zitieren
HTMELL
Administrator

Registriert: 11.05.2006
Beiträge: 544
Hi,
Du könntest Deinen generierten HTML-Output auch buffern (ob_start & Co.), dann mit suchenUndErsetzen die Slashes entfernen und dann erst zum Browser schicken.


_______________________________________
mfg
Thomas Mell

www.validome.org

08.05.2008 18:22:25
  Zitieren
genius
Mitglied

Registriert: 06.05.2008
Beiträge: 5
Hi,

auch wenn ich zu Anfangs nur Bahnhof verstanden habe ;-), wurde ich über Google recht schnell fündig.

Nun habe ich in der Content-Datei folgendes stehen:


-------ANFANG-------

<?php

function callback($buffer)

{

  return (str_replace("/>", ">", $buffer));
}

ob_start("callback");

?>

<html>
<head>

...
...
...
...

</body>
</html>


<?php

ob_end_flush();

?>

-------ENDE-------

doch es bleibt der besagten Fehlermeldung. Auch wenn ich die zu tauschende Zeichen maskiert hinterlege, funktioniert es nicht.

Ich habe spaßeshalber mal versucht, ein x-beliebiges Wort aus dem eigentlichen Seiteninhalt auf diesem Wege zu ersetzen, dass funktioniert! Also die Funktion als solches scheint zu gehen.

Na ja, Dein Hinweis war dennoch klasse. Ich bleibe da mal am Ball. Vermutlich mache ich etwas falsch.

Sollte ich anfangen zu nerven, einfach sagen :-).

VG

Beitrag geändert von genius (08.05.2008 20:50:58)


08.05.2008 20:48:50
  Zitieren
genius
Mitglied

Registriert: 06.05.2008
Beiträge: 5
Es geht!!!

Der PHP Befehl ob_start war falsch plaziert. Nun ist das Dokument valide.

Nochmals besten Dank für Deine Hilfe.

VG


08.05.2008 22:42:16
  Zitieren
Seiten: 1   Beitrag schreiben
Wechsel zu

Die letzten Beiträge aus diesen Forum

Valid HTML 4.01