HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum |
 

 
 

Anzeige 
 
               Forum
 
 
HTMLWorld » PHP » PHP-Beispiele » Formulare

PHP-Beispiele: Formulare

von Jan Winkler/Stephan Steege

Eine der besten Leistungen von PHP besteht darin, HTML-Formulare dynamisch zu gestalten und die Daten weiter zu verwenden, mit relativ geringem Aufwand.

Anzeige

Formulardaten auswerten  nach oben

Das folgende Beispiel stellt ein einfaches Eingabeformular dar:

<form method="post" action="Ausgabe.php">
Artikel: <input type="text" name="Artikel"><br>
Farbe: <input type="text" name="Farbe"><br>
Preis: <input type="text" name="Preis"><br>
<input type="submit" name="senden" value="Senden">
</form>

Wird das Formular abgeschickt, werden alle Daten aus den Feldern an die Datei Datei Ausgabe.php übergeben. In PHP können die Daten dann wieder abgefragt werden. Je nach PHP-Einstellungen und verwendeter Methode (hier method="post"), sind die Daten dann in den jeweiligen Variablen enthalten:
a) sofern aktiviert, trägt der Variablenname, den Namen des HTML-Feldes (name="...")
b) bei verwendeter POST-Methode, sind die Daten durch $HTTP_POST_VARS['feldname'] abfragbar
c) bei verwendeter GET-Methode, sind die Daten durch $HTTP_GET_VARS['feldname'] abfragbar
d) ab PHP 4.1.0 sind die Daten zusätzlich mit $_GET['feldname'] bzw. $_POST['feldname'] abfragbar.

Beispiel:

<html>
<head>
<title>Ausgabe der eingegebenen Werte</title>
</head>
<body>
<?php
echo "Artikel: $Artikel<br>";
echo "Farbe: $Farbe<br>";
echo "Preis: $Preis<br>";
?>
</body>
</html>

In dieser Art stehen nicht nur Textfelder, sondern auch andere Dialogfelder zur Verfügung. Zu beachten ist dabei, dass bei Radiofeldern, wird jeweils der Wert übergeben, der ausgewählt wurde - gleiches gilt für Selectfelder. Eine Besonderheit stellen Checkboxen dar: Wurde die Checkbox nicht markiert, ist die Variable nicht vorhanden - wurde sie markiert, ist sie vorhanden. Beispiel:

<form method="post" action="Ausgabe.php">
<input type="checkbox" name="agb" value="1">
 Hiermit akzeptiere ich die AGB.<br>
<input type="submit" name="senden" value="Senden">
</form>

... kann in Ausgabe.php wie folgt behandelt werden:

<?php
if(isset($_POST['agb']))
{
 //AGB wurden akzeptiert ...
}
else
{
 //AGB wurden nicht akzeptiert ...
}
?>

Ein weiterer Sonderfall sind Selectfelder mit multipler Auswahlmöglichkeit. Um diese auswerten zu können, notiert man den Namen in HTML als PHP-Array, also mit [] hinten dran. PHP erkennt dies dann und erzeugt ein Array mit den entsprechenden Werten. Beispiel:

<form method="post" action="Ausgabe.php">
<select name="auswahl[]" size="3" multiple="multiple">
<option value="1">Auswahl 1</option>
<option value="2">Auswahl 2</option>
<option value="3">Auswahl 3</option>
</select>
<input type="submit" name="senden" value="Senden">
</form>

... kann in Ausgabe.php wie folgt behandelt werden:

<?php
$auswahl = $_POST['auswahl'];
echo 'Ausgewählt wurden: ';
for($i=0;$i<count($auswahl);$i++)
{
 echo $auswahl[$i];
}
?>

Dateiupload  nach oben

Das Upload ist das Kopieren einer Datei aus dem Dateisystem des Clients auf das Dateisystem des Servers. Welche Datei hochgeladen wird, kann der Benutzer mit einem Dialogfeld auswählen. Das Dialogfeld kann so formuliert werden:

<form method="post" action="Ausgabe.php"
      enctype="multipart/form-data" >
Datei: <input name="Datei" type="file"><br>
<input type="submit" name="senden" value="Senden">
</form>

Wichtig dabei ist, dass zusätzlich die Codierung des Uploads angegeben werden muss (enctype="multipart/form-data"), da die Datei sonst von den meisten Browsern nicht hochgeladen wird. Die Datei wird dann beim Absenden des Formulars an den Server geschickt und mit dem Variablennamen $Datei bzw. $_FILES['Datei'] angelegt. Da PHP die Datei allerdings nicht dort ablegt wo wir sie haben möchten, sollte die Datei anschließend in das Zielverzeichnis kopiert werden. Beispiel:

<?php
if (move_uploaded_file($_FILES['Datei']['tmp_name'],
   '/meinverzeichnis/'.$_FILES['userfile']['name'])) 
{echo 'Ok.';}
else{echo 'Fehler, Datei konnte nicht geladen werden.';}
?>

Wie im Beispiel ersichtlich, erstellt PHP die Datei-Variable als assoziatives Array, als Werte werden name (Dateiname), type (MIME-Type), size (Dateigröße in Byte), tmp_name (Dateiname im Uploadpfad) und error (Fehlermeldung) gespeichert.

Achtung: Wenn auf dem Zielverzeichnis eine Datei mit diesem Namen schon vorhanden ist, wird diese überschrieben!



« zurück weiter »
Bewerten

 

PHP-Beispiele

.Autor:Jan Winkler.
. Bewertung:
PHP-Beispiele: Formulare HTMLWorld
(5/5 bei 1 Votes)
.
. Community: 586 Beiträge im PHP-Beispiele Forum .

Navigation

Achtung: Seite ist nicht mehr gültig von Sir Quicksand
Undefined variable - bitte um Hilfe von A235
Navigation Link soll ausgewählt bleiben von Maxxon
Zeitliche Zugriffsbegrenzung auf eine Webseite von Krueger008
Suche in einer Spalte Datenbank mit Ausgabe als Link von xmen
php frage von cyborg
Welchen Befehl? von duesseltalker
Mail vom Kontaktformular ist leer von promo
Formular wird alphabetisch sortiert, statt logisch von gooddog
Bekomme Validierung von Style.css.php nicht in den Griff !? von OneMoreMedia
Seiteninhalt über ID's ändern ? von Alex...
Custom tailor made sites to suit your business requirement. von acumencs
Struktur von php-Dateien in wordpress von Iago
Extension:LDAP Authentication von sternkopf
Warnung bzw. Fehlermeldung von rallaf

zum PHP-Beispiele Forum »


 
     
 

Anzeige