Hi,
Mmh, warum willst Du unbedingt Perl einsetzen? JS funktioniert doch gut, und die paar Uralt-Browser, die es nicht koennen, na die haben eben keine Cookies. Vor allem wuerde das ein dynamisches Erzeugen der derzeit statischen Posting-Dateien vermeiden. Einfach das Forums-Script beim Erzeugen der Dateien den JS-Code mit reinschreiben lassen, und fertig.
das hast Du offenbar falsch verstanden. Wenn Du einen Artikel schreibst, erhälst Du eine Bestätigungsseite, mit der zusammen (bei Bedarf) ein Set-Cookie-Header geschickt wird und den Cookie erstellt. Würde ich das mit JavaScript lösen, würde _das_ Klimmzüge erfordern. Die Seiten selbst bleiben statisch, da der (statische) JavaScript-Code den Cookie ins Formular umsetzt.
Wenn Du eine hoehere JS-Version voraussetzt, dann musst Du auch nicht solche Klimmzuege machen, um den Cookie wieder auszulesen (in JS gibt's naemlich auch split()).
Tja, aber besser ist es doch, JS 1.0 kompatibel zu bleiben ;-)
Ich hab mir Deinen Code nicht intensiv anbgeschaut, aufgefallen ist mir nur, dass Du den PATH nicht setzt, fuer den der Cookie gueltig ist (vgl. Codevorschlaege von Jens und mir in <../../sfarchiv/1999_3/t05075.htm>). Dadurch kann, wie Stefan damals schon befuerchtet hat, eine Postingdatei nicht auf den Cookie einer anderen zugreifen.
Alle Formulare dürften im Verzeichnis /self-forum liegen, deswegen habe ich darauf verzichtet; aber danke für den Hinweis. Die Änderung wäre minimal (nur ein paar Bytes im Perl-Code), erschien mir aber überflüssig.
Ich persoenlich setze den Code lieber in eine Funktion, die ich dann OnLoad aufrufen lasse, statt den Code hinter das Formular zu setzen und sofort losrennen zu lassen, aber das ist wohl Geschmackssache.
Tja, ohne onLoad wird der Code schneller angesprochen. Stell Dir nur mal vor, kurz hinter dem Formular wäre ein Datenstau, oder eine bestimmte Grafik wird einfach nicht angesprochen; da würde man ewig warten. So hat man eine vernachlässigbare Verzögerung, und man spart sich einen in exotischen Browsern evtl. problematischen Event-Handler.
Nun gut, mehr faellt mir auf den ersten Blick nicht auf.
Danke :-)
Cheatah