如何在表单提交的变量中添加复选框的值/名称?

时间:2017-11-17 11:33:20

标签: php arrays string forms checkbox

我在表单中有一组带有提交按钮的复选框。

<form name="form" method="POST">
    <input type="checkbox" name="3" value="3">
    <input type="checkbox" name="7" value="7">
    <input type="checkbox" name="5" value="5">
    <input type="checkbox" name="12" value="12">
    <input type="submit" name="submit-form">
</form>

<?php 
if (isset($_REQUEST['submit-form'])) {

}
?>
...

代码中当前的名称/值是动态生成的,需要保留(名称或值都可以)。

提交表单时,我想将已复选复选框的值或名称添加到PHP变量(以逗号分隔)作为字符串。

对于我应放在if括号中的代码的任何帮助都将非常感激。

提前致谢。

5 个答案:

答案 0 :(得分:1)

如果可能,请使用name =“myValues []”,在POST之后,$ _POST ['myValues']将包含所有已选择值的数组。然后你可以进行内爆(“,”,$ _POST ['myValues'])将它们连接成1个字符串。

示例:

<form name="form" method="POST">
    <input type="checkbox" name="options[]" value="3">
    <input type="checkbox" name="options[]" value="7">
    <input type="checkbox" name="options[]" value="5">
    <input type="checkbox" name="options[]" value="12">
    <input type="submit" name="submit-form">
</form>
...
<?php 
if (isset($_REQUEST['submit-form']) && !empty($_POST['options'])) {
    $myOptions = implode(", ", $_POST['options']);
}

&GT;

答案 1 :(得分:1)

HTML:

  

<input type="checkbox" name="checkboxarr[]" value="3">

PHP:

  

<?php if (isset($_REQUEST['submit-form'])) { print_r($_POST); } ?>

答案 2 :(得分:1)

使用数组为您的复选框指定正确的名称。然后使用该名称获取值并内爆以检索字符串

<form name="form" method="POST">
    <input type="checkbox" name="chk[]" value="3">
    <input type="checkbox" name="chk[]" value="7">
    <input type="checkbox" name="chk[]" value="5">
    <input type="checkbox" name="chk[]" value="12">
    <input type="submit" name="submit-form">
</form>

<?php 
if (isset($_REQUEST['submit-form'])) {
    $checkbox_val = $_POST["chk"];
    $checkbox_val = implode(",", $checkbox_val);
    echo $checkbox_val;
}

答案 3 :(得分:1)

您可以对复选框使用相同的名称,如下面的代码所示:

<form name="form" method="POST">
    <input type="checkbox" name="numbers[]" value="3">
    <input type="checkbox" name="numbers[]" value="7">
    <input type="checkbox" name="numbers[]" value="5">
    <input type="checkbox" name="numbers[]" value="12">
    <input type="submit" name="submit-form">
</form>

在使用过程中,您可以使用以下代码粘贴所有选中的复选框:

if (isset($_REQUEST['submit-form'])) {
     $allSelectedNumbers = implode(",", $_REQUEST['numbers']);
}

答案 4 :(得分:1)

这里有很多好的答案,但只是为了回答你的问题,如果修改HTML不是你的选择。

<?php

  if (isset($_REQUEST['submit-form'])) {

    unset($_POST['submit-form']);
    echo implode( ',', $_POST );

  }