Tom: Probleme mit E-Mail Formular, das sich selbst aufruft.

Beitrag lesen

Hello,

echo <<< EOF3
include('header.php');

<link href="../styles/stylesheet.css" rel="stylesheet" type="text/css">
<script src="../styles/javascript.js" type="text/javascript"></script>
</head>
<body>
EOF3;

Ich schu mir nur mal diesen Abschnitt an. Die Heredoc-Syntax ist problematisch, da sie immer die richtigen Zeilenendezeichen benötigt. Und wenn ich das richtig interpretiere, schaltest Du eine Ausgabestream ein, um dann gleich in der nächsten Zeile eine Funktion (bzw. eine Parseranwesiung) aufzurufen. Das machst Du in Deinem Script einige Male.

Ist das richtig?

Und dann noch eine Bitte an Dich. Wenn Du möchstest, dass man Dir hier auch in Zukunft hilft, poste bitte nicht ganze Scripte mit Formatierung und HTML, wenn es um PHP geht. Mach einen Auszug daraus mit den wichtigen Stellen.

Noch etwas zu Deinem Müller, äh, Mailer. Das Ding ist gemeingefährlich. Man kann über GET-Parameter Header-Daten übergeben. Dadurch ist es möglich, die Header zu manipulieren und den From-Header als BCC: umzuwidmen. Wenn man einen From-Header benutzt, muss man auf jeden fall kontrollieren, was im Paramter drinsteht, also genau EINE eMailadresse.

Die Übergabe der Paramerer über GET ist auch unpraktisch, da viele Browser nur eine gesamtlänge der URi von ca. 1000 oder noch weniger Zeichen zulassen.

Bau das Formular auf POST um und setze von Seiten des Servers eine Formular-ID ein, die in einer "nicht-verbraucht-Datei" zusammen mit einem Timestamp gespeichert wird. Wenn nun jemand ohne eine ID postet, hat er das Formular nicht frisch vom Server geholt. Das gleiche gilt für eine nicht enthaltene ID. Nach dem Post kannst Du die ID entweder löschen, oder ein Flag setzen, dass sie schon verbraucht ist. Dann hat man eine Zusatzinformation für den Poster (Doppelpost).

Liebe Grüße aus http://www.braunschweig.de

Tom

--
[ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
  Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
  Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen