我有一個(gè)包含多個(gè)復(fù)選框的聯(lián)系表單。我已將 [] 添加到名稱中,但不確定在 PHP 中要做什么。如果沒有 [],我只能在發(fā)送的電子郵件中顯示第一個(gè)復(fù)選框項(xiàng)目。添加[]后,我什么也沒得到。(注:我曾嘗試在 StackOverflow 中使用類似的問題,但它們對(duì)我的困境不起作用。)這是我的代碼(我已截?cái)?HTML 以僅顯示復(fù)選框區(qū)域):<div class="form-check"> <input type="checkbox" class="form-check-input" name="findout[]" id="checkbox5" value="Advertisement"> <label for="findout[]" class="form-check-label">Advertisement</label></div><div class="form-check"> <input type="checkbox" class="form-check-input" name="findout[]" id="checkbox6" value="Yard Sign"> <label for="findout[]" class="form-check-label">Yard Sign</label></div><div class="form-check"> <input type="checkbox" class="form-check-input" name="findout[]" id="checkbox7" value="Search Engine"> <label for="findout[]" class="form-check-label">Search Engine</label></div><?php $name = $_POST['name']; $email = $_POST['email']; $findout = $_POST['findout']; $method = $_POST['method']; $message = $_POST['message']; $subject = $_POST['subject']; header('Content-Type: application/json'); if ($name === ''){ print json_encode(array('message' => 'Name cannot be empty', 'code' => 0)); exit(); } if ($email === ''){ print json_encode(array('message' => 'Email cannot be empty', 'code' => 0)); exit(); } else { if (!filter_var($email, FILTER_VALIDATE_EMAIL)){ print json_encode(array('message' => 'Email format invalid.', 'code' => 0)); exit(); } } if ($subject === ''){ print json_encode(array('message' => 'Subject cannot be empty', 'code' => 0)); exit(); } if ($message === ''){ print json_encode(array('message' => 'Message cannot be empty', 'code' => 0)); exit(); }
2 回答

揚(yáng)帆大魚
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
那么人們可以選擇多個(gè)復(fù)選框,而您想正確閱讀它們嗎?您可以使用下面的代碼
<?php
if(isset($_POST['findout'])){ // Check if findout had been posted
foreach($_POST['findout'] as $checked){ // loop trough selected checkboxes
echo $checked."</br>"; // Display selected checkboxes
}
}
?>

守候你守候我
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊
將括號(hào)添加到字段名稱使其成為數(shù)組,因此您應(yīng)該像數(shù)組一樣訪問它
$findout = implode(", ",$_POST['findout']); echo $findout; // should output: Advertisement, Yard Sign, or whatever they select
另外,標(biāo)簽的for屬性應(yīng)該指向字段的 id,而不是字段的名稱
<label for="checkbox7" class="form-check-label">Search Engine</label>
- 2 回答
- 0 關(guān)注
- 125 瀏覽
添加回答
舉報(bào)
0/150
提交
取消