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 wiecreateFeldName();
, 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 wiecreateRadio
, 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:- Jeder Name muss einzigartig sein. Falls ihr einen Namen doppelt verwendet, wird der Fehler "Es gibt doppelte Beschriftungen." ausgeworfen.
Sonstiges
- Das Formular wird in einer Tabelle ausgegeben.
- Wenn eine Fehlermeldung ausgeworfen wird, kann das Formular nicht abgeschickt werden.
- Probiert euer Formular am besten selbst einmal aus, um zu sehen, ob es auch wirklich funktioniert.
- Viele Mail-Anbieter filtern die Mails als Spam. Um das zu verhindern, fügt die Mailadresse als Ausnahme hinzu oder als Kontakt.