Hallo Knut,
Beim CGI-Formularversand wird die E-Mail-Adresse des Absenders
nicht automatisch mit übertragen. Mancher Besucher vergisst
aber, seine Adresse in das dafür vorgesehene Feld einzutragen
(oder meint vielleicht, dies sei nicht notwendig). Wie kann
ich die E-Mail-Adresse doch in das Formular bekommen? Aktuell
habe ich folgende Felder als HIDDEN definiert:
- type=„hidden“ name=„print_config“ value=„email“>
- type=„hidden“ name=„realname“ value="www.marhold.de>
Nun, wenn ich Dich richtig verstehe, hast bzw.
möchtest Du ein Formular mit einem Feld in das der Besucher
seine Email-Adresse eintragen soll. Die obigen hidden-Felder
werden Dir diesbezüglich aber nicht weiterhelfen.
Ein Formular mit einem Eingabefeld für die Email sollte
ungefähr so aussehen:
Wenn der User das Eingabefeld (hier mit dem internen Namen
„user_email“) ausfüllt und dann das Formular abschickt,
kannst Du mit einer Programmiersprache Deiner Wahl
den zum Feld „user_email“ gehörenden Wert abfragen. Dies
ist dann idealerweise eine gültige Emailadresse des Benutzers.
Wenn der Benutzer nichts in das Feld eingibt und im
Formular trotzdem den Absende-Button drückt, kannst Du
z.B. mit JavaScript die Absendeaktion abbrechen und den
Schlingel darauf hinweisen, dass er gefälligst seine
Email-Adresse preisgeben soll.
Eine andere Möglichkeit, die Email-Adresse des Benutzers
herauszufinden ist das Abfragen der CGI-Variable HTTP_FROM.
Diese Feld wird manchmal vom Browser des
Benutzers mit übertragen in den meisten Fällen aber nicht.
In Perl kannst Du diese Variable mit $ENV{‚HTTP_FROM‘}
in Deinem CGI-Skript anschauen. Wenn nichts drin steht,
wurde sie auch nicht mitgesendet.
Es gibt ansonsten keine „Wunderwaffen“ die Email-Adresse des
Benutzers zu erfragen und das ist bezüglich der Privatsphäre
und des Datenschutzes auch gut so.
Gruss,
-Andreas.