2012-10-26 157 views
-4

我在PHP中使用POST獲取一些數據。當複選框被選中時,沒有問題,但是如果其中一行有未勾選的複選框,則複選框的所有順序都將消失。我試圖打印數組,我發現如果一個複選框未被選中,它的值就不會被寫入。PHP POST複選框問題

例如,如果我有5行,我檢查其中2。這個數組的大小是2而不是5.我怎樣才能將未選中的複選框轉換爲「0」值?

<input onchange="saveChanges();" type="checkbox" name="showS[]" value="1"> 

回答

0

你可以做幾件事。 一是實際顯示的是什麼做這個檢查:

<input onchange="saveChanges();" type="checkbox" name="showS[value1]" value="1"> 

你也可以只使用唯一的標識符,而不是一個數組ofcourse。另一種選擇是與價值不同,而不是名稱。

0

如果你沒有在POST請求提交的值(使用isset確定此),然後設置false在適當情況下,否則使用您提交的字段的值。

0

只要做到這一點與這個邏輯

<?php 
     $checkbox = isset($_POST['checkbox'])?$_POST['checkbox']:0; 
     .... 
0

當有未選中的複選框它不添加到_POST數組,所以你沒得到任何東西..

0

設置複選框一個適當的值(例如與複選框相關的數據庫表中的行的主鍵列的值)。

該處理與在數組中,而不是索引。