• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

XHTML 1.0 validieren mit PHP & Sessions

Radhad

New member
Hi zusammen,

ich entwickle Momentan noch eine Website mit PHP und möchte, dass die Website XHTML 1.0 (vielleicht später XHTML 1.1) valid ist. Aber er meckert an 2 JavaScript Sachen und vor allem an PHPSESSID. Wie kann ich die Probleme lösen?

Validieren der Website


Gruß Radhad
 
Du musst das & durch & ersetzen.
JavaScriptEreignisse müssen durchweg klein geschrieben werden, also onblur statt onBlur
 
Ich bekomme jetzt nur noch 21 Fehler (alle bzgl. Sessions).

mod_rewrite habe ich bisher noch nicht benutzt. Ist das überhaupt bei einem Webspace-Anbieter möglich?



Gruß Radhad
 
kann man nicht pauschal sagen, einige können es, einige nicht.

Edit: Den Fehler mit den Sessions kannst du auch noch ganz leicht ausbügeln, du musst nur überall wo du links generierst statt '&' ein '&' setzen (in der URL), also z.B.: <a href="index.php?nid=1&PHPSESSID=c1b43b05503bffea48132e2954a6e8fc" ....
Edit²: falls diese Session-Links automatisch angehängt sind und nicht von dir, dann versuche mal folgendes ganz an den Anfang des Scriptes zu setzen:
ini_set('arg_separator.output', '&');
falls das nicht geht musst du deinen Hoster fragen ob er das direkt in der php.ini umstellen kann.
 
Zuletzt bearbeitet:
Das mache ich ja, ich hänge allerdings die Session nicht an die Links ^^

Nachtrag:
Das macht die Validerung selber (da sie wohl keine Cookies unterstützt).
 
Einen Fehler habe ich noch gefunden: nicht gültiges UTF-8 Zeichen. Kann ich das irgendwie schnell & einfach prüfen innerhalb einer Datei?
 
evtl. als alternativen zu utf-8:

ISO-8859-1 - Westeuropäisch, Latin-1
ISO-8859-15 - Westeuropäisch, Latin-9. Enthält das Euro-Zeichen sowie französische und finnische Buchstaben, die in Latin-1(ISO-8859-1) fehlen.
 
Und wie trage ich das ein? Beim validieren sagt er mir, er habe keine Zeichencodierung gefunden und nimmt dann halt UTF-8.
 
Da Du keinen XML-Prolog in Deinem Dokument benutzt und auch keine Zeichenkodierung im Header sendest, vollzieht der Validator automatisch einen Fallback zu UTF8, denn eine Meta-Zeichenkodierung ist bei XHTML irrelevant.
Ausserdem benutzt Du ja eh UTF8, weswegen diese Meldung von Validome egal ist.
Zudem ist es nur ein Hinweis und keine Fehlermeldung.
Näheres dazu hättest Du aber auch im dortigen Forum finden können...
 
Ja schön und gut aber ich würde ja gerne das zeichen identifizieren, um das zu beheben. Da es sich aber nicht um eine reine HTML Datei handelt, ist die Auswertung etwas schwer... Denn die Zeilen-Spalten Angabe stimmt so leider nicht.
 
Keine Ahnung was Du meinst.
Wenn ich (Firefox 1.5 / Linux) Deine Seite validiere, bekomme ich keine Meldung von irgendeinem Zeichen.
 
Mittlerweile habe ich die Fehler behoben. Die Webseite arbeitete nicht richtig mit dem ZEichencode UTF-8, bzw. der header fehlte. Außerdem musste der DB noch klarmachen, dass ich mit UTF-8 arbeite.
PHP:
<php
header('Content-Type: text/html; charset=UTF-8');
...
mysql_select_db($db);

$sql = "SET NAMES 'utf8'";
mysql_query($sql);
$sql = "SET CHARACTER SET 'utf8'";
mysql_query($sql);
?>

Des weiteren wurden dann ' und " Zeichen escaped. Mit stripslashes() vor dem speichern in die DB habe ich die Escape-Zeichen wiederum entfernt. Jetzt läuft alles einwandfrei :)


Gruß Radhad
 
Zurück
Oben