$ _POST复选框

时间:2015-01-31 15:04:32

标签: php html forms checkbox

我有此表格,其详细信息需要通过电子邮件发送。截至目前,我只设法将其他字段包含在电子邮件中,但我遇到了这个多个复选框的问题。我有很多复选框,确切地说是23。现在,我遇到的问题是,如果选中一个复选框或只选中两个或三个复选框,我将如何包含复选框的值。

HTML

<input type="text" name="state" id="txt1">State:</input>
<input type="text" name="name" id="txt2">Name:</input>
Package A<input type="checkbox" name="radiog_dark" value="150.00" id="tcbx3" class="css-checkbox"/>
Package B<input type="checkbox" name="radiog_dark" value="175.00" id="tcbx3" class="css-checkbox"/>
Package C<input type="checkbox" name="radiog_dark" value="200.00" id="tcbx3" class="css-checkbox"/>

PHP

$state = $_POST['state'];
$entity = $_POST['entity'];

$email_message .= "State: ".clean_string($state)."\n";
$email_message .= "Entity: ".clean_string($entity)."\n";

3 个答案:

答案 0 :(得分:0)

使用isset()方法检查复选框是否已选中

if(isset($_POST['radiog_dark'])){
// do something
}

此外,您不能为两个复选框设置相同的名称,因为您只能获得一个,其他2个将超过一个

答案 1 :(得分:0)

使用Array语法以这种方式设置复选框字段并使用isset检查复选框值,您可以像这样设置数组索引以获得更高的可读性,例如

name="radiog_dark['package_a']"
name="radiog_dark['package_b']"

<input type="checkbox" name="radiog_dark[]" value="150.00" id="tcbx3" class="css-checkbox"/>

if(isset($_POST['radiog_dark'])){
  // do other stuffs
 }

答案 2 :(得分:0)

change chekbox name  radiog_dark to radiog_dark[] 

Package A<input type="checkbox" name="radiog_dark[]" value="150.00" id="tcbx3" class="css-checkbox"/>

if(!empty($_POST['radiog_dark'])){
    // Loop to store  display values of individual checked checkbox.
    foreach($_POST['radiog_dark'] as $selected){
    echo $selected."</br>";
}