PHP-ში ჩეკბოქსში არჩეული მნიშვნელობის შენახვა გაგზავნის შემდეგ
ახლა მოდით გავაკეთოთ ისე, რომ ჩეკბოქსის მნიშვნელობა
გაგზავნის შემდეგ შენახული იყოს. ამისთვის
შევამოწმოთ, რომ $_GET['flag']
არსებობს (ანუ ფორმის გაგზავნა მოხდა)
და უდრის ერთს (ანუ ჩეკბოქსი მონიშნულია).
თუ ეს ორი პირობა სრულდება, მაშინ ჩეკბოქსში
გამოვიტანოთ ატრიბუტი checked:
<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>
შემოწმების გამარტივება შესაძლებელია, თუ ზუსტად ვიცით,
რომ დამალული ინპუტი აწვდის 0. ამ
შემთხვევაში, თუ ჩეკბოქსი არ არის მონიშნული, მაშინ $_GET['flag']-ში
იქნება '0', ხოლო თუ ფორმის
გაგზავნა ჯერ არ ყოფილა, მაშინ იქნება null.
ამ ორივე შემთხვევაში ჩვენ არ უნდა გამოვიტანოთ
checked. და ორივე შემთხვევის დაჭერა შეგვიძლია
ფუნქციით empty. ამ გზით
შეგვიძლია შევამოწმოთ, რომ $_GET['flag']
არ არის ცარიელი და მხოლოდ ამ შემთხვევაში გამოვიტანოთ 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>
გააკეთეთ სამი ჩეკბოქსი, რომლებმაც გაგზავნის შემდეგ უნდა შეინახონ თავიანთი მნიშვნელობა.