Hi!
Warum "die" überhaupt eine Header braucht wo‚s doch eigentlich garnix ausgibt ist mit aber immernoch nicht klar.
Nicht das die() will irgendwas haben, sondern der Webserver, der Dein Script aufgerufen hat, naemlich einen korrekten CGI-Header-Block. Dieser Header-Block ist eine Anzahl von Zeilen, jede durch \n abgeschlossen, wobei jede Zeile die Form
Header-name: value
hat, und das Ende des Blocks wird durch eine leere Zeile signalisiert (deshalb ein weiteres \n). Das nennt man CGI. So ist das Interface definiert, und wenn Du also CGI-Scripts schreiben willst, wirst Du Dich daran halten muessen. Immer!
Wenn Du mit die() oder exit() oder irgendwas anderem vorzeitig abbrichst, hat sich das Script nicht korrekt verhalten. Das heisst per definition, es ist fehlerhaft, also wird vom Webserver ein 500 Internal Server Error erzeugt. So einfach ist das. Aber mit dem Code von Klaus hast Du ja jetzt was praktikables an der Hand.
So long