Hallo,
Oh ja, ich habe meinen Fehler entdeckt:
Habe vor dem header schon html ausgegeben.
Aber, aber!
In weiser Voraussicht hatte ich Dir doch bereits den Link zu
http://www.dclp-faq.de/q/q-fehler-header.html
gepostet.
Das Bild-Durchschleuser-Skript darf _gar_kein_ HTML ausgeben.
Auch nicht im Fehlerfall.
Weil seine Ausgabe ja ein Bild sein soll.
Wie kann ich dann diese Bilder via Bildschleuse in bestehenden html-Code implementieren??
Wie ein normales Bild.
<img src="http://www.tiptom.ch/tests/phpssi/bildschleuse.php?nr=1" alt="Foto einer Uhr" width="207" height="300">
Das ganze Gebastel dient ja dem Passwortschutz.
Wie gesagt, wuerde ich das mit Sessions loesen.
Im Fall, dass der Browser kein Cookie akzeptiert, wird die Session-ID
einfach an die URL des Bild-Durchschleuser-Skripts angehaengt.
<img src="bildschleuse.php?nr=1&PHPSESSID=xyz123abc978" alt="...">
Beachte:
- Das Ampersand (&) muss in HTML mit & codiert werden
- je nach Einstellungen von PHP (session.use_trans_sid, url_rewriter.tags)
geschieht das Anhaengen der Session-ID an relative URLs auch ganz automatisch,
sonst musst Du es bei jedem Bild "von Hand" machen. Dabei gut zu wissen: - Der String "PHPSESSID=xyz123abc978" (oder so) ist in der Konstanten
SID verfuegbar. - bei einer falschen Session-ID (d.h. bei einem "Einbruchsversuch")
sollte das Durchschleuser-Skript natuerlich nicht das richtige Bild,
sondern ein Transparentes GIF oder ein "Nicht-Erlaubt"-Bild ausgeben.
Noch etwas Lektuere fuer den Feieraben:
http://www.dclp-faq.de/ch/ch-security.html
http://www.dclp-faq.de/ch/ch-version4_session.html
http://www.php.net/manual/en/ref.session.php
Gruesse,
Thomas