Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Programmierung mit PHP  Teil von  Formulare und PHP
Letztes Update: 04.09.2007 20:49:50

Navigation

Seite Startseite
Seite Aktuelles
Seite Seite News*
Seite Seite Pressemitteilungen*
Seite SELFPHP
Seite Seite Über SELFPHP
Seite Seite Werbung
Seite Seite Kontakt
Seite Seite Unsere Banner
Seite Seite Impressum
Seite Qozido
Seite Seite Diving Edition
Seite Seite Snorkeling Edition
Seite SELFPHP Dokumentation
Seite Seite PHP-Skripte
Seite Seite PHP Befehlsreferenz
Seite Seite PHP 5 Praxisbuch
Seite Seite PHP Code Snippets
Seite Seite SELFPHP in Buchform
Seite Anbieterverzeichnis
Seite Seite Globale Branchen
Seite Seite Webhosting/Server
Seite Services
Seite Seite Forum*
Seite Seite RSS-Feeds*
Seite Seite Downloads*
Seite Seite Gratis-Video-Lektionen*
Seite Seite SELFPHP auf Heft-CD*
Seite Seite Newsletter*
Seite Internet Security
 sponsored by  
Seite Stellenangebote*
Sedo - Bei uns wird PHP großgeschrieben
Seite Premium-Partner   
Webhosting/Serverlösungen
Seite Produktempfehlung   
Seite Seite SteadyBackup

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  
 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 100.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 




 

Dynamische Formulare




Die Formularelemente samt der Angabe der Werte wurden in den bisherigen Beispielen stets fest in die Formulare eingebunden. Es wäre sicher jedoch wesentlich praktischer, wenn man dies automatisieren und bestimmte Formularelemente dynamisch erzeugen könnte.

Es wäre sicherlich einen Versuch wert, die Auswahlliste dynamisch mithilfe einer Schleife zu erzeugen:

<html>
<head>
<title>Dynamische Mehrfach-Auswahl</title>
</head>
<body>
<form name="form1" method="post" action="<?php echo $PHP_SELF ?>">
  <p>
  <?php
    $themen = array("Autos","Filme","Essen","Sport");
  ?>
    <select name="thema[]" size="4" multiple>
  <?php
  foreach ($themen as $element) {
    echo "<option value=$element>$element</option>";
  }
  ?>
    </select>
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>

<?php
  if ($_POST['thema']) {
    echo "Es sind folgende Themen enthalten:<br>";
    foreach($_POST['thema'] as $element) {
      echo "$element<br>";
    }
  }
?>
</body>
</html>




Bild 4.2: Dynamisches Formular samt Ausgabe

Sollten Sie assoziative Arrays verwenden, können Sie die Indizes als Werte für die <option>-Tags einsetzen und den zugewiesenen Wert für die Anzeige verwenden.

Beispiel

<html>
<head>
<title>Dynamische Mehrfach-Auswahl</title>
</head>
<body>
<form name="form1" method="post" action="<?php echo $PHP_SELF ?>">
  <p>
  <?php
    $themen = array(
      "AU"=>"Autos",
      "FI"=>"Filme",
      "ES"=>"Essen",
      "SP"=>"Sport",
      "CO"=>"Computer"
    );
  ?>
    <select name="thema[]" size="<?php echo count($themen)?>" multiple>
  <?php
  foreach ($themen as $key=>$element) {
    echo "<option value='$key'>$element</option>";
  }
  ?>
    </select>
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>

<?php
  if ($_POST['thema']) {
    echo "Es sind folgende Themen enthalten:<br>";
    foreach($_POST['thema'] as $element) {
      echo "$element<br>";
    }
  }
?>
</body>
</html>



Die Auswahlliste wurde übrigens zusätzlich in der Länge (size) auf die Anzahl der Elemente angepasst.

Zur besseren Übersicht lassen sich solche dynamischen Bestandteile eines Formulars auch in externe Skripts auslagern.

Beispiel – function.inc.php
<?php

// Auswahlisten Funktion für Hobbies
function setze_hobbies() {
  $themen = array(
    "AU"=>"Autos",
    "FI"=>"Filme",
    "ES"=>"Essen",
    "SP"=>"Sport",
    "CO"=>"Computer"
  );
  foreach ($themen as $key=>$element) {
    echo "<option value=$key>$element</option>";
  }
}

// Ausgabe der ausgewählten Werte mithilfe des globalen
// Arrays $_POST
function form_ausgabe() {
  if ($_POST['thema']) {
    echo "Es sind folgende Themen enthalten:<br>";
    foreach($_POST['thema'] as $element) {
      echo "$element<br>";
    }
  }
}
?>
Die eigentliche Formulardatei, nennen wir sie dynform.php, stellt sich nun wesentlich übersichtlicher dar:
<?php include("./function.inc.php"); ?>
<html>
<head>
<title>Dynamische Mehrfach-Auswahl</title>
</head>
<body>
<form name="form1" method="post" action="<?php echo $PHP_SELF ?>">
  <p>
    <select name="thema[]" size="<?php echo count($themen)?>" multiple>
    <?php setze_hobbies(); ?>
    </select>
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>
<?php echo form_ausgabe(); ?>
</body>
</html>

Sie sollten vor allem auf die korrekte Schreibweise der ersten Codezeile der dynform.php-Datei achten.


 




 sponsored by

Sedo - Bei uns wird PHP großgeschrieben


VERIO - An NTT Communications Company


HighText iBusiness


Webspace-Verkauf.de


video2brain




 Premium-Partner
 Webhosting/Serverlösungen

BPI-Systeme


Premium-Partner Pixel X


Premium-Partner First Colo


Premium-Partner dogado Internet




Qozido


© 2001-2008 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt