Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Programmierung mit PHP  Teil von  Formulare und PHP
  +++ SELFPHP CronJob-Service :: Jetzt auch als Professional-Version verfügbar! +++



:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP? In über 120.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

:: Qozido ::

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.   

 
 
Fragen zu Formularelementen




In diesem Abschnitt wollen wir einige der Formularelemente genauer betrachten.


Verarbeitung von Checkboxen/Kontrollkästchen

Wenn die Checkboxen nicht markiert sind, werden sie überhaupt nicht übermittelt. Andernfalls haben sie den im Attribut value angegebenen Wert. Man kann die Elemente auf die folgenden beiden Arten erzeugen:

# Fall 1: Verschiedene Namen, gleicher Wert
<input type="checkbox" name="cb[1]" value="yes" />
<input type="checkbox" name="cb[2]" value="yes" />

# Fall 2: "Gleiche" Namen, verschiedene Werte
<input type="checkbox" name="cb[]" value="1" />
<input type="checkbox" name="cb[]" value="2" />

Die Abfrage erfolgt in beiden Fällen mit:

if (isset($_REQUEST['cb'])) {
  reset($_REQUEST['cb']);
  foreach ($_REQUEST['cb'] as $key=>$element) {
    echo "$key: $element<br>";
  }
} else {
  echo "Keine Checkboxen<br>";
}

Im Fall 1 wertet man die Variable $key aus, im Fall 2 die Variable $element. Entscheidend ist auch hier, dass der Variablenname bei mehr als einer Checkbox mit [] endet, damit in PHP ein Array zur Verfügung steht.


Verarbeitung von Radiobuttons/Optionsschaltern

Radiobuttons verhalten sich analog zu Checkboxen, mit der Ausnahme, dass hier eine Mehrfachauswahl nicht möglich ist. Beim Erstellen des HTML-Codes sollte darauf geachtet werden, dass zusammengehörige Buttons den gleichen Namen haben müssen.

<?php
  $farben = array(
    array('name' => 'grün', 'value' => 'g'),
    array('name' => 'blau', 'value' => 'b'),
    array('name' => 'rot', 'value' => 'r')
);
foreach ($farben as $element) {
  echo
    printf('<input type="radio" name="farbe" value="%s" %s/> %s<br />',
      $element['value'],
      (isset($_REQUEST['farbe']) and $_REQUEST['farbe'] == $element['value']) ? 'checked="checked" ' : '',
      $element['name']
    );
}
?>


Verarbeitung von Submit

Um die Aktivierung einer Submit-Schaltfläche zu überprüfen, muss diese über einen Namen verfügen.

<input type="submit" name="submit" value="Senden">

Anschließend ist bei einem Mausklick oder einem Tastendruck auf die Submit-Schaltfläche eine Variable mit dem Namen der Schaltfläche vorhanden:

if (isset($_REQUEST['submit'])) { ... }

Soll es um die Verarbeitung von mehr als einer Submit-Schalfläche gehen, stehen Ihnen mehrere Optionen zur Verfügung:
  • Haben die Schaltflächen den gleichen Namen, kann man den value auswerten; die PHP-Variable heißt so wie die Schaltfläche ($_REQUEST['submit']).
  • Haben die Schaltflächen unterschiedliche Namen, erhält man je nach betätigter Schaltfläche eine Variable mit anderem Namen registriert; mit isset() kann man prüfen, ob eine bestimmte Variable vorhanden ist, d. h., ob eine bestimmte Schaltfläche angeklickt wurde.
  • Benennt man die Schaltflächen in der Array-Schreibweise, z. B. name="submit[0]", wobei zwischen den eckigen Klammern eindeutige Werte stehen müssen, erhält man in PHP ein Array mit genau einem Element; der Schlüssel (Key) dieses Elements ist die aktivierte Schaltfläche.



Verarbeitung von Reset

Zunächst sollte man überlegen, ob man überhaupt einen Reset-Schalter benötigt. Bei einer HTML-Reset-Schaltfläche setzt der Browser alle Eingabefelder auf den Anfangszustand zurück; da damit kein Request an den Server verbunden ist, kriegt PHP davon nichts mit. Möchte man einen Button realisieren, der Eingabeelemente mit vordefinierten Inhalten wirklich löscht, muss man eine Submit-Schaltfläche verwenden:

<?php
  if (isset($_REQUEST['loeschen'])) {
    unset($_REQUEST['eingabe']);
  }
?>

<form method="post" action="<?php echo $PHP_SELF ?>" >
<input type="text" name="eingabe" value="<?php @print $_REQUEST['eingabe']; ?>">
<input type="submit" name="submit" value="Absenden">
<input type="reset" value="Reset">
<input type="submit" name="loeschen" value="Löschen">
</form>



 




:: Premium-Partner ::

Webhosting/Serverlösungen


Premium-Partner MECO Systemhaus GmbH & Co. KG
Premium-Partner PSW GROUP GmbH & Co. KG
Premium-Partner BPI-Systeme
Premium-Partner Pixel X
Premium-Partner
 

:: SELFPHP Sponsoren ::


Microsoft Deutschland GmbH
twosteps.net - ...Premium-Webhosting
Sedo - Bei uns wird PHP großgeschrieben
hostfactory.ch - OptimaNet Schweiz AG
ZEND - The PHP Company
Kaspersky Labs
HighText iBusiness
SELFPHP Sponsoren
 

Qozido


© 2001-2009 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt