PHP-de checkbox-laryň ulanylyşynyň aýratynlyklary

Göçüräňizde diňe bir checkbox bolsun:

html<form action="" method="GET">
  <input type="checkbox" name="flag">
  <input type="submit">
</form>

Göçüräniň işleniş kody şeýle görünsin:

html<?php
  if (!empty($_GET)) { // göçürä iberilen bolsa
    if (isset($_GET['flag'])) { // checkbox belgilenen bolsa
      echo 'belgilendi';
    } else {
      echo 'belgilenmedi';
    }
  }
?>

Biz bir meselä duçar bolaris - eger checkbox belgilenmese, onda, göçüräde checkbox-dan başga elementler bolmadygy üçin, $_GET-de boş massiw ýatar. Bu ýagdaýda, göçüräni işleýän kodymyzda, formanyň iberilmegini barlap görýän birinji if şertine düşmez.

Bu meseläni çözmek üçin aýratyn bir usul ulanylýar: checkbox-ymyz bilen bir atly gizlin input döredilýär. Bu ýagda gizlin input-yň bahasyna nol, checkbox-yň bahasyna bolsa bir goýulýar:

html<form action="" method="GET">
  <input type="hidden" name="flag" value="0">
  <input type="checkbox" name="flag" value="1">
  <input type="submit">
</form>

Bu ýagda aşakdaky ýagdaý ýüze çykar. Eger checkbox belgilenmese, onda serwere diňe gizlin input-yň bahasy iberiler. Eger bolsa checkbox belgilenen bolsa, onda serwere bir atly iki sany baha iberiler. Emma, checkbox-yň bahasy ikinji boljakdygy üçin, ol birinjisiniň üstünden ýazar.

Indi, bizim checkbox-ymyz serwere ýa nol, ýa-da bir bahasyny iberer:

html<?php
  var_dump($_GET['flag']); // '0' ýa-da '1'
?>

Muny barlagymyzda ulanalyň:

html<?php
  if (!empty($_GET)) {
    if ($_GET['flag'] === '1') {
      echo 'belgilendi';
    } else {
      echo 'belgilenmedi';
    }
  }
?>
Задание 1

Checkbox arkaly ulanyjydan, onuň 18 ýaşy ýetendigini ýa-da ýetmedigini soraň. Eger ýeten bolsa, onda saýda girmäge rugsat beriň, ýetmedik bolsa rugsat bermäň.