html/php-bezogene Frage

  • Ich hoffe, dass die Frage, die ich nun stelle, nicht allzu impertinent ist, allerdings denke (und hoffe) ich, dass diese Frage auch für Experten eine gewisse Herausforderung / Übung sein könnten:
    Ich habe die Absicht gehabt, eine Webseite vermittels php dergestalt zu programmieren, dass sich die Seite einen eingegebenen Benutzernamen durch

    Code
    <input type="Submit" value="Absenden">

    selbst zusendet und zunächst einmal anzeigt - alles andere ist für dieses konkrete Problem uninteressant. Der Code sieht wie folgt aus:

    Das funktioniert wunderbar, bis auf einen Schönheitsfehler:

    Bevor von einem Benutzer aus überhaupt ein Name submittet wurde, erscheint beim Laden der Seite durch den Browser auf der Seite ein Text, der sagt, dass der Index in Zeile 9 nicht definiert wurde. Erst, wenn dann irgendein Name eingegeben und gesendet wurde, verschwindet die Fehlermeldung. Was könnte man tun, damit die Fehlermeldung anfangs gar nicht erst auftaucht? Ich habe bereits versucht, innerhalb des php-Segments (<?php ...?>) ein leeres Array namens $_POST zu erzeugen, hat aber nichts genützt...

    HPL

  • Das Post-Array existiert zwar, aber weil du kein Post ausgeführt hat, ist das Array natürlich leer. Wenn Du ein nicht existierendes Element ("vorname" wird ja von dir bei der Übergabe dynamisch erzeugt und ist kein Standard-Element des Post-Arrays) aufrufst oder einer Variable zuweisen willst, erhältst du natürlich einen Fehler.

    Prüf erst, ob es das Feld (key) überhaupt gibt und mach die Ausgabe davon abhängig.

    http://php.net/manual/en/function.isset.php (für Variablen)
    http://www.php.net/manual/en/function.array-key-exists.php (für Array-Einträge, Post ist ja ein Array)