Preservando o valor selecionado em uma caixa de seleção após o envio em PHP

Agora vamos fazer com que o valor da caixa de seleção seja preservado após o envio. Para isso, vamos verificar se $_GET['flag'] existe (ou seja, se o formulário foi enviado) e é igual a um (ou seja, se a caixa está marcada).

Se essas duas condições forem atendidas, exibiremos o atributo checked na caixa de seleção:

html<form action="" method="GET">
  <input type="hidden" name="flag" value="0">
  <input
    type="checkbox"
    name="flag" <?php
      if (isset($_GET['flag']) and $_GET['flag'] === '1')
        echo 'checked';
      ?>
    >
  <input type="submit">
</form>

A verificação pode ser simplificada se soubermos com certeza que o campo oculto envia 0. Nesse caso, se a caixa de seleção não estiver marcada, então $_GET['flag'] conterá '0', e se o formulário ainda não foi enviado, conterá null.

Em ambos os casos, não devemos exibir checked. E podemos capturar ambos os casos com a função empty. Assim, podemos verificar se $_GET['flag'] não está vazio e somente nesse caso exibir checked:

html<form action="" method="GET">
  <input type="hidden" name="flag" value="0">
  <input
    type="checkbox"
    name="flag"
    value="1"
    <?php if (!empty($_GET['flag'])) echo 'checked' ?>
  >
  <input type="submit">
</form>
Задание 1

Crie três caixas de seleção que preservarão seus valores após o envio.