Radio buttons come in groups identified by using the same name
attribute on all buttons within that group. A user can only select one radio button from a group of radio buttons. When a radio button is selected, any other radio button with the same name (in the group) that was previously selected becomes unchecked.
The checked attribute
Use the checked
attribute to pre-select a radio button, for example:
checked
or
checked=""
or
checked="checked"
Each of these is a valid technique to define a checked radio button.
Example: pre-checked a radio button:
The last radio button (Blue) will be checked:
<input type="radio" name="color" value="Red"> Red
<input type="radio" name="color" value="Green"> Green
<input checked type="radio" name="color" value="Blue"> Blue
PHP – Preselecting Radio Buttons
<?php
if (isset($_POST['groupname']) &&
$_POST['groupname'] == 'any value') {
echo 'checked';
}
When processing a form in PHP, it is quite messy but rather trivial to prefill a group of radio buttons: Just compare the value in $_GET
/$_POST
with the associated value. If it fits, print out checked
to preselect that radio button, as shown in the code:
<?php
$color = htmlspecialchars ($_POST['color'] ?? '');
?>
<form method="post" action="example.php">
<p>Radio Buttons:<br>
<label>
<input type="radio" name="color" value="Red"
<?= $color == 'Red' ? 'checked' : '' ?>>Red
</label>
<label>
<input type="radio" name="color" value="Blue"
<?= $color == 'Blue' ? 'checked' : '' ?>>Blue
</label>
<label>
<input type="radio" name="color" value="Green"
<?= $color == 'Green' ? 'checked' : '' ?>>Green
</label>
</p>
<p><input type="submit" name="submit" value="Submit"></p>
</form>
Using a cookie to check the radio button
This code can be extended so that a radio button is preselected when the user has previously saved his selection in a cookie:
<?php
if (isset($_POST['submit'])) {
$color = htmlspecialchars ($_POST['color'] ?? '');
// Save the form data in cookies when form is submitted
setcookie('color', $color, strtotime ('+30 days'));
}
else {
// Form not submitted
// Retrieve data from cookies (if exist)
$color = $_COOKIE['color'] ?? '';
}
?>
<form method="post" action="example.php">
<p>Radio Buttons:<br>
<label>
<input type="radio" name="color" value="Red"
<?= $color == 'Red' ? 'checked' : '' ?>>Red
</label>
<label>
<input type="radio" name="color" value="Blue"
<?= $color == 'Blue' ? 'checked' : '' ?>>Blue
</label>
<label>
<input type="radio" name="color" value="Green"
<?= $color == 'Green' ? 'checked' : '' ?>>Green
</label>
</p>
<p><input type="submit" name="submit" value="Submit"></p>
</form>
Processing Forms in PHP: