PHP में सबमिट के बाद चेकबॉक्स के चयनित मान को संरक्षित करना

आइए अब ऐसा करें कि सबमिट करने के बाद चेकबॉक्स का मान संरक्षित रहे। इसके लिए जाँच करें कि $_GET['flag'] मौजूद है (यानी फॉर्म सबमिट किया गया था) और एक के बराबर है (यानी चेकबॉक्स चयनित है)।

यदि ये दोनों शर्तें पूरी होती हैं, तो चेकबॉक्स में checked विशेषता output करें:

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>

जाँच को सरल बनाया जा सकता है यदि हमें सटीक पता हो, कि छिपा हुआ इनपुट 0 भेजता है। ऐसे मामले में, यदि चेकबॉक्स चयनित नहीं है, तो $_GET['flag'] में '0' होगा, और यदि अभी तक फॉर्म सबमिट नहीं किया गया है, तो null होगा।

इन दोनों ही मामलों में हमें checked output नहीं करना चाहिए। और इन दोनों मामलों को हम empty फ़ंक्शन से पकड़ सकते हैं। इस प्रकार हम जाँच सकते हैं कि $_GET['flag'] खाली नहीं है, और केवल इसी मामले में checked output करें:

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

तीन चेकबॉक्स बनाएं, जो सबमिट करने के बाद अपना मान संरक्षित रखेंगे।