0
我試圖讓我的複選框,如果複選框未選中,它將保存爲一個空白(跳到下一個)(「」)/選項卡(「\ t」)我的.txt文件並至少1box檢查。這是我的代碼:PHP複選框,未選中框選項
我的HTML
<p>Hobbies:
<input type="checkbox" name="ahobby[]" value="swimming" />Swimming
<input type="checkbox" name="ahobby[]" value="reading" />Reading
<input type="checkbox" name="ahobby[]" value="gaming" />Playing Games
</p>
和我的PHP
至少1框打勾:
如果(isset($ _ POST [ 「ahobby」]) || empty($ _ POST [「ahobby」])){
$err_msg .= "<p>Please select your Hobby</p>";
}
這下保存對不打勾爲空白/選項卡,然後到下一個項目
$check_ary = array ("swimming", "reading", "gaming");
$h = 0;
for ($i = 0; $i < count($check_ary);$i++) {
if ($check_ary[$i] == $ahobby[$h]) {
fwrite($handle, "$ahobby[$h]\t");
$h++;
} else { // saves a blank
fwrite($handle, "\t");
}
}
// to the next line by using new line
fwrite($handle, "\n");
fclose ($handle);
的時候我沒有選擇的第三個複選框(遊戲)出現該問題的複選框,它說未定義偏移:1,如果我加厚第三盒/ 3(遊戲)& 1(游泳)/ 3(遊戲)& 2(閱讀),根本沒有問題。而不是創建一個新行(\ n),它只是創建一個新標籤。 任何人都有一些答案?謝謝!
它的工作原理,但唯一的問題是,當我選擇只有第二和第三/選擇沒有第一個陣列(游泳),它不會將值寫入我的.txt文件。任何建議?感謝您的幫助 –
這是因爲兩個數組的值(即ahobby和check_ary)不匹配,因爲當您開始選擇「reading」時,數組「$ ahobby」的索引從0開始「$ check_ary [0]」的值爲「游泳」作爲其值。 – Vagabond
解決方法可以是以靜態方式獲取輸入複選框值的名稱(即 Swimming' ahobby [1]閱讀等) – Vagabond