php的checkbox取值方式跟其它語言有點不同,主要是因為php中數組的合理使用。
設我們有一個Html頁面,代碼如下:
<FORM method="
post" action="checkTest.PHP">
<INPUT name="test[]" type="checkbox" value="1" />
<INPUT type="checkbox" name="test[]" value="2" />
<INPUT type="checkbox" name="test[]" value="3" />
<INPUT type="checkbox" name="test[]" value="4" />
<INPUT type="checkbox" name="test[]" value="5" />
<INPUT type="submit" name="Submit" value="Submit" />
</FORM>
注意上面input的name屬性,各個屬性內容都一樣,而且都是test[],加上[]的原因在於讓test的內容變成數組形式傳遞。
checkTest.PHP的代碼內容如下:
<?PHP
echo implode(",",$_POST['test']);
?>
我們輸出內容時只需要注意利用implode函數將數組內容轉化為字符串即可。
注:該功能可在刪除多記錄等場合運用。如Delete from tbl where ID in (implode(",",$_POST['test']))即可。
實例代碼:
復制代碼 代碼如下:
<
Html XMLns="
http://www.w3.org/1999/
xHtml">
<head>
<meta http-equiv="Content-Type" content="text/Html; charset=gb2312" />
<title>無標題文檔</title>
</head>
<body>
Html復選框如果要以數據組形式發送給PHP腳本處理就必須以如checkbox[]這形式
<form id="form1" name="form1" method="post" action="">
<label>
<input type="checkbox" name="checkbox[]" value="1" />
</label>
<label>
<input type="checkbox" name="checkbox[]" value="2" />
</label>
<label>
<input type="checkbox" name="checkbox[]" value="www.jb51
.Net" />
</label>
<label>
<input type="checkbox" name="checkbox[]" value="jb51
.Net" />
</label>
<label>
<input type="submit" name="Submit" value="提交" />
</label>
</form>
</body>
</Html>
<?
//判斷是否點擊提交
if( $_POST )
{
$array = $_POST['checkbox'];
print_r($array);
}
/*
結果:
Array
(
[0] => 1
[1] => 2
[2] => www.jb51.Net
[3] => jb51.Net
)
簡單的很多事情在做之前覺得復雜但做起來就很容易了,像這個復選框代碼就是這樣了。
*/
?>