Formulare

Irgendwann werdet ihr auch Formulare brauchen, oder zumindest bei Scrips mit denen arbeiten, und deswegen solltet ihr auch da drüber bescheid wissen. Also ein Formular kann folgende Elemente beinhalten:

Textfeld:
Textarea:
Radio-Button:
Checkbox:
Drop-Down Feld:
Schaltfläche:

Also das Grundelement eines Formulars ist natürlich einmal der Tag:

<form></form>

Dieser zeigt an, dass ein Formular beginnt und alle Elemente die dazwischen liegen, zu dem Formular gehören. Natürlich hat form mehrere attribute die es genauer beschreiben:

action= Aktion, was soll ausgeführt werden wenn der Submit Button gedrückt wird (zB. mailto:mail@peilosistas.org oder form.php)
method= Method kann entweder den Wert POST oder GET übernehmen. Genaueres dazu lest ihr weiter unten.
enctype= enctype gibt den MIME-Type (also den Typ der mit dem Formular mitgeschichten Daten an [zB. text/plain für nur Text oder, multipart/form-data wenn das Formular andere Daten als Text enthält. Eine Liste der MIME-Typen findet ihr hier

Was genau ist nun dieses GET und dieses POST und wo liegt da der Unterschied?
Es handelt sich hierbei um die Methode wie die Daten der Mail weitergegeben werden sollen. GET überträgt die Daten direkt in der Adresszeile. Da ihr den Formularfeldern Namen übergebt, werden diese Informationen nach der URL, durch ein Fragezeichen getrennt angegeben.. Man kann es sich so vorstellen dass in der URL Folgendes stehen könnte:

http://www.peilosistas.org/formular.htm?name=Peilo&nachname=Sista

Diese Übergabe ist zwar in manchen Bereichen sehr nützlich hat aber den Nachteil dass wenn ihr vertrauliche Daten weitergebt, jeder der hinter euch steht, das lesen kann. Weiters können sie als Favoriten gespeichert werden, und (und das ist wohl der Hauptnachteil) nur maximal 2 Bytes enthalten! (also beschränkte Zeichenanzahl). (bei dem dynamischen PHP-include könnt ihr euch eine gute Anwendung dieser Methode angucken)

Post hingegen ist da etwas diskreter... die Informationen werden im Hintergrund weitergegeben. Man kann sie nur im Formular selbst ändern, jedoch nicht irgendwie über die URL, und die Länge ist dabei beinahe irrelevant. Diese Methoden sind dann später im PHP-Teil ziemlich wichtig.

Weitere Formularelemente sind:

<input type="beliebigertyp" name="name" size="zahl" maxlength="zahl" value="wert">
<textarea name="name" cols="zahl" rows="zahl" value="wert">
<select><option>Inhalt 1</option><option>Inhalt 2</option></select>


Also input ist eigentlich das Supermega-Ding überhaupt alleine durch Änderung des typen könnt ihr aus einem Textfeld aufeinmal einen Radiobutton machen etc. Folgende Möglichkeiten habt ihr bei dem typ des input Feldes:

text Textfeld
radio Radio-Button
checkbox checkbox
password Passwortfeld (Zeigt nur Sternchen an)
submit Submitbutton
reset Resetbutton (zurücksetzen)
file Textfeld mit Durchsuchen(Browse) Button
hidden Verstecktes Textfeld
button Normaler Button (noch ohne Funktion)
image Macht mit der angabe src aus einem Bild einen klickbaren Button

Im großen und ganzen könnte ein Formular nun so aussehen:

<form name="formular" method="post" action="mailto:mail@peilosistas.org" enctype="text/plain">
Name: <input name="name" type="text" id="name" size="10"><br>
email: <input name="email" type="text" id="email" size="10"><br>
Kommentar: <textarea name="textfeld" cols="10" rows="2" id="textfeld"></textarea><br>
<input name="submit" type="submit" id="submit" value="Senden">
<input name="reset" type="reset" id="reset" value="Zur&uuml;cksetzen">
</form>

Diese Form mit mailto funktioniert allerdings nur, wenn ihr auch einen E-Mail Client installiert habt (z.B. Mozilla Thunderbird, oder Outlook oder Ähnliches).
Versucht das mal und ändert die email auf eure eigene. Ihr müsstet dann eine Mail erhalten mit den Informationen.