Formularprüfung - Daten eintragen
Autor
Flitze
Klicks 112992
Keywords:
Formulare auswerten, Formulare benutzen, Formularverarbeitung, Formularaufbau, Datenübergabe, Formulardaten überprüfen, Affenformular, Daten in Formular erhalten, Daten erneut eintragen, Dateneintragung, Formular, HTML
Klicks 112992
Rating für Formularprüfung
5.9 von 10
Bewertungen36
Stand
12.06.2013
5.9 von 10
Bewertungen36
Keywords:
Formulare auswerten, Formulare benutzen, Formularverarbeitung, Formularaufbau, Datenübergabe, Formulardaten überprüfen, Affenformular, Daten in Formular erhalten, Daten erneut eintragen, Dateneintragung, Formular, HTML
Breadcrumb:
Tutorials » Formularprüfung » Formularprüfung - Daten eintragen
3. Daten in ein Formular eintragen
[ADSENSE_LINE]Um Daten einzutragen muss man Eingabebereiche definieren.
Die wichtigsten Elemente, die man bei Formularen zur Eingabe benötigt sind:
- einzeilige Eingabefelder ( <input type="text"> )
- Passwortfelder ( <input type="password"> )
- versteckte (Eingabe)felder ( <input type="hidden"> )
- mehrzeilige Eingabefelder ( <textarea></textarea> )
- Checkboxen ( <input type="checkbox"> )
- Radiobuttons ( <input type="radio"> )
- Auswahllisten ( <select><option></option></select> )
Um Eingaben abzuschicken oder auch um sie zu verwerfen, benötigt man Buttons:
- Submit-Button [Abschicken] ( <input type="submit"> )
- Reset-Button [Verwerfen] ( <input type="reset"> )
Zur späteren Verarbeitung benötigt jedes Element ein name-Attribut (name=), durch das man im weiterverarbeitenden Script auf die Daten dieses Elementes zugreifen kann.
Wer sich mit den Elementen eines Formulares noch nicht so gut auskennt, sollte den entsprechenden Artikel auf SELFHTML lesen.
4. Daten weiterverarbeiten
In dem Script, mit dem ihr die Daten auswertet und verarbeitet, könnt ihr auf die globalen Variable $_POST bzw. $_GET zugreifen. Das sind Arrays, deren Schlüssel den Namen der HTML-Elemente entsprechen. Der Wert entspricht dann dem, was in das entsprechende Feld/Checkbox/... eingegeben wurde, bzw. welches value-Attribut es besessen hat.
Wenn ein Formular folgendermaßen aufgebaut ist:
Code:
<form action="formular.php" method="post" accept-charset="ISO-8859-1"> <input type="text" name="Username"> <input type="submit" name="submit" value="Abschicken"> </form>
und abgeschickt wird, dann existieren im weiterverarbeitenden Script (in diesem Fall formular.php) die Array-Indizes $_POST['Username'] und $_POST['submit']. Auf diese Array-Elemente kann man wie auf normale Variablen zugreifen. Hätten ich als Methode GET gewählt, würden $_GET['Username'] und $_GET['submit'] existieren und $_POST['Username'] und $_POST['submit'] eben nicht.
Möglichweise könnt ihr bei euch auch direkt auf die von euch gewählten Namen zugreifen also im obigen Fall auf $Username und $submit. Dann steht in eurer PHP Konfiguration register_globals auf on. Aus Sicherheitsgründen sollte register_globals aber immer auf off stehen. Das lässt sich durch eine .htaccess Datei mit dem Eintrag: php_flag register_globals off realisieren.
Weiteres zu .htaccess Dateien gibts wieder auf SELFHTML und zu Sicherheitsproblemen mit register_globals auf PHPForum.de
4.1 Arbeiten mit mehreren gleichartigen Eingabe-Elementen
Manchmal benötigt man mehrere gleiche Eingabe-Elemente, z.B. wenn man die Interessen eines Users durch Checkboxen abfragen will.
Dies könnte z.B. so aussehen
PHP:
<form action="formular.php"
method="post"
accept-charset="ISO-8859-1">
<?php
$interessen = array('Fussball','Tennis','PHP','Webdesign','Reiten');
foreach($interessen as $interesse)
echo "<input type=\"checkbox\" name=\"Interesse[]\" value=\"".$interesse."\"> ".$interesse."\n";
?>
</form>
Dadurch, dass ich als Name Interesse[] eingebe, wird aus $_POST ein mehrdimensionales Array. Alle ausgewählten Interessen (z.B. PHP, Webdesign, ...) werden dann in dem Array $_POST['Interessen'] gespeichert.
Über eine foreach-Schleife á la
PHP:
<?php
echo "Der User hat folgende Interessen:<br><br>\n";
foreach($_POST['Interesse'] as $interesse)
echo $interesse."<br>\n";
?>
kann man alle gewählten Interessen in formular.php ausgeben lassen.
Wird nur eine Checkbox ausgewählt, so existiert trotzdem ein Array und nicht bloß eine "normale" Variable. Wird allerdings keine Checkbox ausgewählt, so existieren weder eine Variable noch ein Array $_POST['Interesse'].
Zurück zur vorigen Seite:
Formularprüfung - Nutzen Weiter zur nächsten Seite:
Formularprüfung - Formulardaten an MySQL übergeben