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:
<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:
<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>
Crie três caixas de seleção que preservarão seus valores após o envio.