从多个复选框中获取表单数据
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";
?>
希望对你有帮助!
【讨论】:
以上是关于从多个复选框中获取表单数据的主要内容,如果未能解决你的问题,请参考以下文章
form表单提交了多个checkbox怎么获取复选框的值存入数组?