ChrisB: Fehler in Sticky Form

Beitrag lesen

Hi,

[code lang=php]  if (isset($_POST['submit'])) {
      $von = 'elmar@machmichelvis.com';
  $betreff = $_POST['betreff'];
  $text = $_POST['elvismail'];
  $form_ausgeben = false;

if (empty($betreff) && empty($text)) {
    // $betreff UND $text müssen leer sein

Wenn ich nun die Seite lade, dann erscheint in den Formularfelder eine Fehlermeldung, dass jeweils die Variable $text und $betreff nicht definiert seien. Das macht meiner Meinung nach auch Sinn, da die Variablen ja nur definiert werden, wenn $_POST['submit'] gesetzt ist. Richtig?

Richtig.

Wenn meine Annahme stimmt, ist das also ein Fehler im Buch. Aber wie müsst ich denn das nun lösen, dass keine Fehlermeldung beim ersten laden erscheint?

Die Abfrage, ob die entsprechenden Einträge gesetzt sind, kann man mittels isset/empty machen.
Macht das Script auch - aber an der falschen Stelle und zu spät.

Ausserdem ist das umkopieren von POST/GET-Werten in andere Variablen eine Unsitte. Man kann ruhig mit $_POST/$_GET arbeiten, da spricht nichts dagegen - aber dafür, dass man immer auf einen Blick erkennt, wo die Werte eigentlich herkommen.

MfG ChrisB

--
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]