2015-09-21 116 views
0

我嘗試確定是否選中了複選框,但出現錯誤。使用php獲取複選框值

test.php的

<html> 
    <body> 
     <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> 

      Use Proxy : <input type="checkbox" name="use_proxy"><br><br> 

      <input type="submit"> 
     </form> 

     <?php 
      $use_proxy = $_POST['use_proxy']; 

      if ($use_proxy != "on") 
      { 
       $use_proxy = "off"; 
      } 

      echo "<p> use_proxy = " . $use_proxy . "</p><br>"; 
     ?> 
    </body> 
</html> 

我得到這個錯誤: 注意:未定義指數:use_proxy在C:\ XAMPP \ htdocs中\ MBCL \ checkbox_test.php上線11 我怎樣才能解決這個問題?

+0

您的代碼似乎正確。 –

回答

3

這是複選框的行爲,直到它們被檢查,它們不能在後端抓取(PHP)。您可以嘗試如下 -

<html> 
    <body> 
     <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> 

      Use Proxy : <input type="checkbox" name="use_proxy" value="off"><br><br> 

      <input type="submit"> 
     </form> 

     <?php 
      $use_proxy = isset($_POST['use_proxy'])?"on":"off"; 
      echo "<p> use_proxy = " . $use_proxy . "</p><br>"; 
     ?> 
    </body> 
</html> 
+0

謝謝bro,我想知道爲什麼我的代碼不工作。 – Black

+0

很明顯,因爲你沒有使用ISSET – CodeGodie

+0

@CodeGodie爲什麼有必要使用'isset'?該logik看起來總的來說還不錯。 – Black