Formulare - Teil 2 - Dokumentation

Im vorangegangenen Teil habt ihr gelernt, wie man das Formular einbindet. Jetzt werdet ihr die einzelnen Methoden lernen, um ein Formular nach euren Belieben zu erstellen.

Hier ein Überblick mit allen möglichen Optionen, weiter unten werden die einzelnen Punkte im Detail erklärt.

$form = new Formular();
$form->setBetreff("Betreff");
$form->createFeldName("kein Pflichtfeld");
$form->createFeldID("kein Pflichtfeld");
$form->createFeldMail("kein Pflichtfeld");
$form->createFeld("Alter", "pflicht", "number");
$form->createRadio("Geschlecht", ["männlich", "weiblich", "divers"], "kein Pflichtfeld");
$form->createCheckbox("Wähle deine Lieblingshexe/n", ["Doremi", "Emily", "Sophie", "Nicole", "Momoko", "Bibi"], "kein Pflichtfeld"); $form->createSelect("Deine Dressfarbe", ["rosa", "orange", "blau", "rot", "gelb"], "kein Pflichtfeld");
$form->createTextfeld("Über dich");
$form->showForm();

new Formular();

Um ein Formular zu starten, muss immer am Anfang $form = new Formular(); stehen. Damit wird das Formular gestartet (es wird sozusagen aufgerufen, noch wird nichts angezeigt). Falls ihr auf einer Seite mehrere Formulare platzieren wollt, ist das kein Problem. Benennt $form einfach um, zum Beispiel in $form1, $form2, $form3 usw.

$form = new Formular();
$form->createFeldName();

$form2 = new Formular();
$form2->createFeldID();

$form3 = new Formular();
$form3->createFeldMail();


setBetreff("Betreff");

Ihr könnt für das Formular einen eigenen Betreff wählen (optional). Zum Beispiel könnt ihr schreiben $form->setBetreff("Anmeldung"); oder $form->setBetreff("Einkaufen");.
In der E-Mail wird vor dem gewählten Betreff die Zeichenkette gesetzt, die ihr unter $betreffpre am Anfang der Datei eingegeben habt. Zum Beispiel Hexenschule: Anmeldung. Wenn ihr nicht wollt, dass etwas davorgesetzt wird, könnt ihr die Zeile auch zu public $betreffpre = ""; abändern.
Wenn ihr den Befehl einfach weglasst, wird stattdessen der Betreff genommen, den ihr unter $betreffdefault gespeichert habt.

createFeldName("Pflichtfeld");

Dieser Befehl erzeugt ein schon vorgefertigtes, einzeiliges Textfeld. Er ist für den Usernamen gedacht.
Ihr habt die Option, dass der Name kein Pflichtfeld ist (standardmäßig ist er ein Pflichtfeld). Dazu müsst ihr in den Klammern in Anführungszeichen schreiben "kein Pflichtfeld". Ihr könnt auch "keine Pflicht" oder "kein muss" schreiben oder ähnliches, das ist egal. Nehmt etwas, das eindeutig und für euch einfach ist.
Wenn ihr wollt, dass es ein Pflichtfeld bleibt, lasst den Teil in "" einfach weg.
Beispiele:

$form = new Formular();
$form->createFeldName(); //so ist es ein Pflichtfeld

$form2 = new Formular();
$form2->createFeldName("kein Pflichtfeld"); //so ist es kein Pflichtfeld

$form3 = new Formular();
$form3->createFeldName("nein"); //auch kein Pflichtfeld
Beispielausgabe:
*

createFeldID("Pflichtfeld");

Der zweite vorgefertigte Befehl ist für die ID. Ihr könnt es z.B. für die Schülernummer verwenden. Es gilt dasselbe wie für createFeldName();
Beispiele:

$form = new Formular();
$form->createFeldID(); //so ist es ein Pflichtfeld

$form2 = new Formular();
$form2->createFeldID("kein Pflichtfeld"); //so ist es kein Pflichtfeld

$form3 = new Formular();
$form3->createFeldID("nein"); //auch kein Pflichtfeld
Beispielausgabe:
*

createFeldMail("Pflichtfeld");

Der dritte vorgefertigte Befehl ist für die E-Mail-Adresse. Wieder dasselbe wie bei Name und ID. Die Besonderheit: Die Eingabe wird überprüft und nur E-Mail-Adressen nach dem Schema "xyz@abc.endung" sind erlaubt.
Beispiele:

$form = new Formular();
$form->createFeldMail(); //so ist es ein Pflichtfeld

$form2 = new Formular();
$form2->createFeldMail("kein Pflichtfeld"); //so ist es kein Pflichtfeld

$form3 = new Formular();
$form3->createFeldMail("nein"); //auch kein Pflichtfeld
Beispielausgabe:
*

createFeld("Name", "Pflichtfeld optional", "number optional");

Dieser Befehl erzeugt ein einzeiliges Textfeld. Ähnlich wie createFeldName();, aber ihr könnt den Text dazu selbst bestimmen.
Als erstes müsst ihr dem Feld einen einzigartigen Namen geben (kein Name darf doppelt vorkommen, sonst gibt es eine Fehlermeldung).
Als zweites könnt ihr angeben, ob es ein Pflichtfeld ist oder nicht. Wenn es ein Pflichtfeld sein soll und normaler Text, könnt ihr das zweite und dritte Feld weglassen (Beispiel 1). Wenn es kein Pflichtfeld und normaler Text sein soll, müsst ihr wie bisher etwas wie "keine Pflicht" angeben (Beispiel 2).
An dritter Stelle könnt ihr bestimmen, dass das Textfeld ausschließlich Nummern beinhalten soll. Am PC seht ihr das an den kleinen Tasten am rechten Rand des Feldes, am Handy öffnet sich statt der normalen Tastatur ein Zahleneingabefeld. Soll es ein Zahlenfeld sein, schreibt ins dritte Feld "number" und ansonsten lasst ihr es einfach weg.
Wichtig: Ihr könnt ein Feld nicht einfach überspringen. Wenn das Feld ein Pflichtfeld sein soll und auch ein Zahlenfeld, müsst ihr "Pflicht" oder "required" ins zweite Feld schreiben (Beispiel 4).
Beispiele:

$form = new Formular();
$form->createFeld("Lieblingshexe");

$form2 = new Formular();
$form2->createFeld("Homepage", "keine Pflicht");

$form3 = new Formular();
$form3->createFeld("Alter", "keine Pflicht", "number");

$form4 = new Formular();
$form4->createFeld("Avatar", "Pflicht", "number");

Ausgabe:
Bsp. 1: *
Bsp. 2:
Bsp. 3:
Bsp. 4: *

createRadio("Name", ["option1", "option2"], "Pflichtfeld");

Mit diesem Befehl lassen sich Radio Buttons erstellen. Das sind runde Buttons, von denen man nur eines auswählen kann.
Im zweiten Wert werden in eckigen Klammern alle Optionen aufgelistet. Ihr könnt beliebig viele erstellen.
Beispiele:

$form = new Formular();
$form->createRadio("Geschlecht", ["männlich", "weiblich", "divers"]);

$form2 = new Formular();
$form2->createRadio("Wähle deine Lieblingshexe", ["Doremi", "Emily", "Sophie", "Nicole", "Momoko", "Bibi"], "kein Pflichtfeld");
Beispielausgabe:
Geschlecht *



createCheckbox("Name", ["option1", "option2"], "Pflichtfeld");

Funktioniert genauso wie createRadio, aber erstellt eckige Buttons ("Checkbox") statt runden ("Radio Button"). Diese kann man ein- und ausschalten und beliebig viele ankreuzen.
Beispiele:

$form = new Formular();
$form->createCheckbox("Welche Sprachen sprichst du?", ["Deutsch", "Englisch", "Japanisch", "Spanisch", "Sonstige"]);

$form2 = new Formular();
$form2->createCheckbox("Wähle deine Lieblingshexe/n", ["Doremi", "Emily", "Sophie", "Nicole", "Momoko", "Bibi"], "kein Pflichtfeld");
Beispielausgabe:
Welche Sprachen sprichst du? *




createSelect("Name", ["option1", "option2"], "Pflichtfeld");

Erstellt ein Dropdownmenü. Als erstes Feld wird immer "Bitte wählen" angezeigt, um die Möglichkeit zu geben, nichts auszuwählen. Wenn es ein Pflichtfeld ist, gilt "Bitte wählen" als nicht ausgefüllt.
Beispiele:

$form = new Formular();
$form->createSelect("Deine Dressfarbe", ["rosa", "orange", "blau", "rot", "gelb"]);

$form2 = new Formular();
$form2->createCheckbox("Deine Lieblingshexe?", ["Doremi", "Emily", "Sophie", "Nicole", "Momoko", "Bibi"], "kein Pflichtfeld");
Beispielausgabe:

createTextfeld("Name", "Pflichtfeld", "Platzhalter");

Erstellt ein mehrzeiliges Textfeld.
Der dritte Teil bestimmt den Platzhalter im Textfeld. Wollt ihr keinen, lasst das Feld aus.
Beispiele:

$form = new Formular();
$form->createTextfeld("Über dich", "Pflicht", "Erzähl was über dich");

$form2 = new Formular();
$form2->createTextfeld("Deine Nachricht");
Beispielausgabe:
*

Fehlermeldungen

Damit euer Formular so funktioniert wie es soll, müsst ihr ein paar Dinge beachten:

Sonstiges