Ruajtja e vlerës së zgjedhur në checkbox pas dërgimit në PHP

Le ta bëjmë tani që vlera e checkbox të ruhet pas dërgimit. Për këtë do të kontrollojmë nëse $_GET['flag'] ekziston (d.m.th ka ndodhur dërgimi i formës) dhe është e barabartë me një (d.m.th checkbox është shënuar).

Nëse këto dy kushte plotësohen, atëherë do të shfaqim në checkbox atributin checked:

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>

Kontrolli mund të thjeshtohet nëse e dimë saktësisht që input i fshehur dërgon 0. Në këtë rast, nëse checkbox nuk është shënuar, atëherë në $_GET['flag'] do të ketë '0', dhe nëse dërgimi i formës nuk ka ndodhur ende, atëherë do të ketë null.

Në të dyja këto raste nuk duhet të shfaqim checked. Dhe të dyja këto raste mund t'i kapim me funksionin empty. Kështu mund të kontrollojmë që $_GET['flag'] të mos jetë bosh, dhe vetëm në këtë rast të shfaqim 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

Krijo tre checkbox-e, të cilët do të ruajnë vlerën e tyre pas dërgimit.