Radio-Button

Radio-Buttons ohne Arrays erstellen

Während man bei Checkboxen immer beliebig viele Möglichkeiten auswählen kann, ist man bei Radio-Buttons auf nur eine einzige Antwortmöglichkeit beschränkt. Wie man sehen kann, haben bei Radio-Buttons im Gegensatz zu Checkboxen alle zusammengehörigen Auswahlmöglichkeiten denselben Namen. Daher kann auch nur ein Array-Eintrag erstellt werden, dem dann beim Abschicken der entsprechende Wert des angeklickten Feldes zugewiesen wird.

Ähnlich wie bei Checkboxen kann man hier für einen Radio-Button den Zustand „ausgewählt“ vorgeben, indem man im entsprechenden input-Tag das Attribut checked angibt. Zu beachten ist, dass die Angabe des Attributs nur dann sinnvoll ist, wenn sie sich auf genau einen Radio-Button beschränkt.

<html>
 <head>
  <title>Radio-Buttons</title>
 </head>
<body>
<?php
if (isset($_POST["submit"]))
  {
  echo "Sie haben Artikel <b>" . $_POST["artikel"] . "</b> bestellt!";
  }
 ?>
<form action="radiobutton.php" method="POST">
<input type="Hidden" name="preis" value="5.99">
<input type="Radio" name="artikel" value="1" checked>Artikel 1<br>
<input type="Radio" name="artikel" value="2">Artikel 2<br>
<input type="Radio" name="artikel" value="3">Artikel 3<br>
<input type="Radio" name="artikel" value="4">Artikel 4<br>
<input type="Radio" name="artikel" value="5">Artikel 5<br>
<input type="Submit" name="submit" value="Kaufen">
</form>
</body>
</html>

so sieht es aus:

<input type=„Radio“ name=„artikel“ value=„1“ checked>Artikel 1<br> <input type=„Radio“ name=„artikel“ value=„2“>Artikel 2<br> <input type=„Radio“ name=„artikel“ value=„3“>Artikel 3<br> <input type=„Radio“ name=„artikel“ value=„4“>Artikel 4<br> <input type=„Radio“ name=„artikel“ value=„5“>Artikel 5<br> <input type=„Submit“ name=„submit“ value=„Kaufen“></html>|

Radio-Buttons mit Arrays erstellen

Radio Buttons lassen sich auch mittels einer Array - Anweisung erstellen. Wozu es einem PHP Code im HTML Teil benötigt.
Die Werte der RadioButtons werden in einem Array abgelegt und danch mittels forach ausgegeben. Dabei bekommt der Schüssel, der auch als value-Wert des Radio-Buttens dient, und der Ausgabewert denselben Inhalt. Nämlich jenen der im Array abgespeichert ist.

ACHTUNG!: Übermittelt wird nur der Indexwert, aber nicht der Inhalt des Arrays!

<html>
 <head>
  <title>Radio-Buttons</title>
 </head>
<body>
<?php
if (isset($_POST["submit"]))
  { $nummer=$_POST["artikel"]+1;
  echo "Sie haben Artikel <b>" . $nummer . "</b> bestellt!";
  }
?>
<form action="radiobutton.php" method="POST">
<input type="Hidden" name="preis" value="5.99">
<?php
$artikel = array ("Artikel1", "Artikel2", "Artikel3", "Artikel4", "Artikel5");
 foreach($artikel as $key => $artikelnr){
 echo "<input type='radio' name='artikel' value='$key' />$artikelnr<br>"; }
 ?>
<input type="Submit" name="submit" value="Kaufen">
</form>
</body>
</html>

Für komplexere Ausgaben, lässt sich diese auch mit einer switch-case Anweisung lösen.

<?php
if (isset($_POST["submit"]))
  { echo "Sie haben ";
    switch($_POST["artikel"])
    {case "0":
    echo "Artikel1";
    break;
    case "1":
    echo "Artikel2";
    break;
    case "2":
    echo "Artikel3";
    break;
    case "3":
    echo "Artikel4";
    break;
    case "4":
    echo "Artikel5";
    break;
    }
    echo " bestellt";
  }
 ?>