Проверьте переключатель на основе переменной php - PullRequest
0 голосов
/ 06 февраля 2019

Я могу установить значение текстового поля из переменной php, чтобы при обновлении страницы текстовое поле оставалось заполненным следующим образом:

<td><input type="text" name="user" value="<?php echo ($_REQUEST['user']); ?>" /></td>

Однако я бы хотелсделать то же самое для переключателя с другой переменной, $gender.Как я мог это сделать?

<td><input type="radio" name="gender" value="male"> Male<br>
                    <input type="radio" name="gender" value="female"> Female<br>
                    <input type="radio" name="gender" value="other"> Other</td>

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Если вы хотите автоматизировать это для нескольких радиогрупп, вы можете написать функцию:

<?php
declare (strict_types=1);

function radio_buttons(string $name, array $values_labels, int $indent = 4)
{
  $ind = str_repeat(' ', $indent);
  foreach ($values_labels as $value => $label)
  {
    $checked = ($_REQUEST[$name] ?? '') === $value ? ' checked' : '';
    echo <<<__EOF__
$ind<input type="radio" id="radio-$name-$value" name="$name" value="$value"$checked><label for="radio-$name-$value">$label</label>

__EOF__;
  }
}

?>
<body>
  <form>
<?php radio_buttons('gender', ['male' => 'Male', 'female' => 'Female', 'other' => 'Other'], 4); ?>
    <button type="submit">submit</button>
  </form>
</body>
0 голосов
/ 06 февраля 2019

Это называется троичный оператор

<?php

'<td><input type="radio" name="gender" value="male" '.($_REQUEST['gender'] == "male" ? 'checked' : '').'> Male<br>
     <input type="radio" name="gender" value="female" '.($_REQUEST['gender'] == "female" ? 'checked' : '').'> Female<br>
     <input type="radio" name="gender" value="other" '.($_REQUEST['gender'] == "other" ? 'checked' : '').'> Other</td>'

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...