我正在从表单向控制器发送一组复选框值。
当我尝试使用$ _Post访问它时,我没有任何价值。
所以我决定尝试使用var_dump()。结果是我在数组中看不到任何值。如果我检查3个复选框,我得到:
array(3) { [0]=> string(0) "" [1]=> string(0) "" [2]=> string(0) "" }
我不明白如何纠正此错误。
- 我的表格 -
<div class="container">
<div>
<form class="form-horizontal" id="form" action="/MVC/home/languageChosen" method="post">
<div class="form-group">
<table>
<tr>
<th>Language</th>
<th>Learn</th>
<th>Teach</th>
</tr>
<?php foreach ($data['languageData'] as $languageData): ?>
<tr>
<td><?php echo $languageData['language_name'] ?></td>
<td><input type="checkbox" name="learn[]" value="<?php $languageData['language_id'] ?>"></td>
<td><input type="checkbox" name="teach[]" value="<?php $languageData['language_id'] ?>"></td>
</tr>
<?php endforeach ?>
</table>
<button id="continueButton" name="action" type="submit" class="btn btn-default" value="RegisterLanguage">Continue</button>
</div>
</form>
</div>
- 控制器 -
public function languageChosen()
{
echo "You posted: " . implode(',', $_POST['learn']); // This results in: You posted: ,,
var_dump($_POST['learn']);
die();
}
修改
当我回显$ languageData [&#39; language_id&#39;]时,会生成下面的图片。
答案 0 :(得分:3)
你没有获得价值,因为你没有回应它。
点击此处
<tr>
<td><?php echo $languageData['language_name'] ?></td>
<td><input type="checkbox" name="learn[]" value="<?php $languageData['language_id'] ?>"></td>
<td><input type="checkbox" name="teach[]" value="<?php $languageData['language_id'] ?>"></td>
</tr>
通过在$languageData
<tr>
<td><?php echo $languageData['language_name'] ?></td>
<td><input type="checkbox" name="learn[]" value="<?php echo $languageData['language_id'] ?>"></td>
<td><input type="checkbox" name="teach[]" value="<?php echo $languageData['language_id'] ?>"></td>
</tr>
我希望这可以解决你的问题..干杯!