Formulare erstellen und auswerten

Ein Formular besteht eigentlich nur aus HTML (eventuell noch Javascript) und hat somit erstmal nichts mit PHP zu tun. Wenn wir aber das Formular auswerten möchten, brauchen wir PHP.

Ein typisches Formular

<form action="formular_verarbeiten.php" method="get">
	<p>Gib deinen Namen ein: <input type="text" name="benutzername" /></p>
	<input type="submit" value="absenden" />
</form>

Hier siehst du ein typisches HTML-Formular. Unser Formular hat zwei Attribute:

  • action – das action-Attribut hat den Wert „formular_verarbeiten.php“. Nachdem der Besucher auf den Absenden Button des Formulars klickt, wird diese Datei aufgerufen und die Formular-Werte übermittelt.
  • method – Die Methode mit der die Variablen verschickt werden sollen. Es gibt die Wahl zwischen get und post. Wir benutzen hier erstmal die Methode GET

Der Rest ist Standard HTML: Ein Input-Feld mit dem Feldnamen „benutzername“ und einen Submit-Button, um das Formular abzuschicken.

Erstelle jetzt die Datei „index.html“ und füge obigen HTML Code ein. Wenn du die Datei jetzt aufrufst, solltest du folgende Ausgabe sehen:

Das ist unser HTML-Formular, und viel passiert noch nicht. Wenn du deinen Namen einträgst und auf absenden klickst, versucht der Browser die Datei aufzurufen, die im action-Attribut angegeben ist. Da die Datei noch nicht existiert, erscheint eine Fehlermeldung.

Formular Daten mit PHP verarbeiten

Um die Fehlermeldung zu beseitigen, erstellen wir jetzt die Datei „formular_verarbeiten.php“ im selben Ordner wie die „index.html“:

<?php
	echo 'Hallo ';
?>

Bislang alles wie gewohnt, aber nun wollen wir auf die Formular-Eingaben zugreifen. Die Formular-Werte werden in die PHP-Variablen „$_GET“ und „$_POST“ gespeichert, je nachdem, welche Methode wir oben im Formular angegeben haben. Da wir uns erstmal für „get“ entschieden haben, sind da auch unsere Werte drin. Da „$_GET“ ein Array ist, wollen wir uns das mal anschauen:

<?php
	echo 'Hallo ';
	
	echo '<pre>';
	print_r($_GET);
	echo '</pre>';
?>

Die Formular-Werte werden also als assoziatives Array in der $_GET-Variable abgelegt. Der Wert des „name“-Attributs ist der Index und der Wert ist die Eingabe, die der User ins Feld geschrieben hat. Das wollen wir nun direkt mal nutzen und passen die Datei „formular_verarbeiten.php“ an:

<?php
	echo 'Hallo '.$_GET['benutzername'];
?>

Ausgabe: Hallo Christian (bzw. welchen Namen du eingibst)

Ein weiteres Beispiel

Man kann alle Formular-Werte an PHP schicken, man muss den Eingabe-Feldern nur einen Namen geben:

index.html

<form name="eingabe" action="formular_verarbeiten.php" method="get">
	<p><strong>Wie geht es dir?</strong></p>
	<input type="radio" name="zustand" value="1" /> Super <br />
	<input type="radio" name="zustand" value="2" /> Gut <br />
	<input type="radio" name="zustand" value="3" /> Wie immer <br />
	<input type="radio" name="zustand" value="4" /> Geht so <br />
	<input type="radio" name="zustand" value="5" /> Schlecht <br />
	
	<br />
	<input type="submit" value="absenden" />
</form>

formular_verarbeiten.php

<?php
	switch($_GET['zustand']) {
		case 1:
			echo 'Geht mir genau so, ein super Tag!';
			break;
	
		case 2:
			echo 'Toll, das freut mich für dich :)';
			break;
			
		case 3:
			echo 'Besser als sich schlecht zu fühlen ;)';
			break;
			
		case 4:
			echo 'Kopf hoch, das wird schon wieder.';
			break;
			
		case 5:
			echo 'Denk dran, nach jedem Tief kommt ein Hoch.';
			break;
	
		default:
			echo 'Du hast vergessen deinen Zustand auszuwählen.';
	}
?>	

Der Besucher kann seinen Gemütszustand auswählen und wir geben ihm eine dazu passende Antwort. Wenn der Besucher vergisst etwas auszuwählen, nutzen wir die „default“-Aktion von Switch.

hier geht's weiter...



Feedback Formular