从多个复选框中获取表单数据

Posted

技术标签:

【中文标题】从多个复选框中获取表单数据【英文标题】:to get the form data from multiple checkbox 【发布时间】:2016-12-19 17:55:32 【问题描述】:

因为我想要获取表单数据并想要处理该数据并将其存储到数据库中..我正在获取所有复选框值但我能够获取文本值虽然我使用了 $_POST['text-name' ] 在代码中...请帮助我获取 错误..我的代码在下面

 if(isset($_POST['give-score'])&&!empty($_POST['checked']))
        $employeedetails  = $_POST['checked'];
        $score = $_POST['score'];
        $username = $employeedetails[1];
        $workname = $employeedetails[2];
        changeworkstatus($username,$workname,$con);
        $workname  = $employeedetails[2];
        addscorepoints($workname,$score,$con);
else
    echo "";

我的表单html代码如下

   <td><input type="checkbox"  name="checked[]" id="employeework" value="" style="align: center"></td>
            <td><input type="checkbox" name="checked[]" id="employeework"value="<?php  echo $results['username']; ?>"><?php  echo $results['username']; ?></td>
            <td><input type="checkbox" name="checked[]" id="employeework"value="<?php echo $results['work_name'];?>"><?php echo $results['work_name'];?></td>
            <td><input type="text" name="score" id="score" placeholder="Your Score Here"></td>
            <td><input type="submit" name="give-score"></td>

表格中使用的 php 部分工作正常..但是 input[type=text] 我没有得到那个值..

【问题讨论】:

从您发布的代码中可见的内容来看,没有任何问题。如果表单包含name="score" 并且使用POST 发送,那么$_POST['score'] 应该存在。你试过var_dump($_POST)吗? 是的,它得到 string(0).. 【参考方案1】:

PHP 数组索引从 0 而不是 1 开始。那么你必须改变这行:

$username = $employeedetails[0];
$workname = $employeedetails[1];

希望对您有所帮助!

【讨论】:

我只是省略了第一个复选框的值...我需要第二个复选框的值,所以我这样写代码:) @mimrahe【参考方案2】:

我认为您的代码没有问题,即使我提供了我尝试过的以下代码。我从表单元素中获取所有值。

html文件的代码

<html>
<body>
<form action="test.php" method="POST"> Checked value:
    <td><input type="checkbox" name="checked[]" id="t1" value="test1">test1</td>
    <td><input type="checkbox" name="checked[]" id="t2" value="test2">test2</td>
    <td><input type="checkbox" name="checked[]" id="t3" value="test3">test3</td>
    <td><input type="text" name="score" id="score" placeholder="Your Score Here">        </td>
    <td><input type="submit" name="give-score"></td>
</form>
</body>
</html>

PHP文件代码

<?php
if(isset($_POST['give-score'])&&!empty($_POST['checked']))
$employeedetails  = $_POST['checked'];
echo $score = $_POST['score']."<br>";
echo $username = $employeedetails[0]."<br>";
echo $workname = $employeedetails[1]."<br>";
echo $workname = $employeedetails[2]."<br>";
else
echo "No data found";

?>

希望对你有帮助!

【讨论】:

以上是关于从多个复选框中获取表单数据的主要内容,如果未能解决你的问题,请参考以下文章

我正在尝试将复杂复选框表单的值存储在 mysql 数据库中

form表单提交了多个checkbox怎么获取复选框的值存入数组?

无法从复选框中获取值

是否可以从 HTML 表单(复选框)发布多个“值”?

Excel VBA - 将多个用户表单复选框值写入单个单元格

从生成的复选框将多个条目插入数据库