Affenformular

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 12. September 2006 um 20:23 Uhr durch -jha- (Diskussion | Beiträge) (+LA). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Dieser Artikel wurde zur Löschung vorgeschlagen.

Falls du Autor des Artikels bist, lies dir bitte durch, was ein Löschantrag bedeutet, und entferne diesen Hinweis nicht.

Zur Löschdiskussion.

Begriffsbildung, zudem URV vom Isotopp. --jha 20:23, 12. Sep 2006 (CEST)


Als Affenformulare bezeichnet man HTML-Formulare auf Internetseiten, die sich beim Absenden immer wieder selbst aufrufen. Hierbei werden am Anfang der Seite über ein Skript die übergebenen Parameter ausgewertet. Die Bezeichnung Affenformular leitet sich davon ab, dass eine Million Affen ein solches Formular eine Million mal aufrufen können, ohne etwas zu bewirken.

Struktureller Aufbau eines Affenformulars

Ansatz

Beim Programmieransatz für ein Affenformular wird üblicherweise ein serverseitiges PHP- oder Perl-Skript verwendet, das sich am Anfang der Seite befindet und die eingegeben Daten empfängt, auf gültige Eingaben überprüft und bei Fehleingaben gegebenenfalls erneut das Formular anzeigt. Dabei werden die Formularfelder mit den bereits zuvor eingegeben Daten vorbelegt und der Nutzer kann seine Eingaben korrigieren oder ergänzen.

Technische Umsetzung

  • Der erste Schritt ist die Erstellung eines HTML-Formulars.
  • Im zweiten Schritt wird mit Hilfe der verwendeten serverseitigen Programmiersprache dafür gesorgt, dass das Formular vom Browser immer an „sich selbst“ (also die ursprünglich aufgerufene URL) gesendet wird.
  • Schritt drei sorgt dann dafür, dass alle Formulareingaben beim Absenden des Formulars als Vorbelegung der Formularfelder in der erneuten Ausgabe unverändert wieder erscheinen.
  • Ein Formular in diesem Zustand wird als Affenformular bezeichnet und kann im vierten Schritt als Grundlage für die weitere Programmierung verwendet werden. Beispielsweise kann eine Prüfung der Formularwerte ergänzt werden, um bei fehlerfreier Dateneingabe zur Datenverarbeitung und -speicherung zu verzweigen – andernfalls aber wieder das Formular mit einem entsprechendem Fehlertext anzuzeigen.

Beispiel

Nachfolgendes einfaches Beispiel eines Affenformulars zeigt die notwendigen Codeschnipsel in HTML und PHP, die sich in der Regel innerhalb eines Skriptes befinden.

HTML-Code

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <input 
         type="text"
         name="textfeld"
         value="<?php if (isset($_POST['textfeld'])) { echo htmlspecialchars($_POST['textfeld']); } ?>">
    <input
         type="submit"
         name="submit"
         value="Absenden">
</form>

PHP-Code

if(empty($_POST['textfeld'])) 
{
    $error = 1;
}
else 
{
    header("Location: $redirect_url");
    exit;
}