我在php文件中有这段代码。它将所有兴趣列为复选框,并允许输入文本字段“other”。用户应选择其中一些兴趣并保存。现在,当用户点击提交按钮时,它应该将它带到控制器,控制器应该提取它们并将其存储在数据库中。我有一个编码的文件可以做到这一点,但它没有好处和太混乱。
这是普通php文件中的表单
<form method="post" action="<?php echo site_url("userProfile/update_bio");?>" name="editForm" id="edit-form">
<div> <!-- description start -->
<div> <p <p class="special-p">Name:</p> <hr> </div>
<p class="used-p"> <input type="text" name="name" value="<?php echo $this->dx_auth->get_username(); ?>"></textarea> </p> <!-- should be real name -->
</div> <!-- description end -->
<div> <!-- description start -->
<div> <p <p class="special-p">Description:</p> <hr> </div>
<p class="used-p"> <textarea name="description"></textarea> </p>
</div> <!-- description end -->
<div> <!-- interests start -->
<div> <p class="special-p">Interests:</p> <hr class="special-hr2"> </div>
<p class="used-p">I am interested in:</p>
<ul>
<?php
foreach ($allInterests->result() as $row){
echo '<li><input type="checkbox" name="checks1[]" value="'.$row->id.'"/> '.$row->name.'</li>';
}
?>
<li><input type="checkbox" name="checks1[]" value="other"/> Other: <input type="text" name="otherText"/></li>
</ul>
</div> <!-- interests start -->
<div>
<input id="editbutton" type="submit" value="Save" name="editBioButton" class="small green button"/>
</div>
</form>
控制器功能为空。问题是我不知道它将如何收到复选框。
提前完成
答案 0 :(得分:1)
foreach($this->input->post(checks1) as $check)
{
echo $check;
}
但我相信如果选中复选框,它将不会出现在$_POST
数组中。要解决此问题,请为每个复选框指定一个特定索引:
<?php
$count=0;
foreach ($allInterests->result() as $row){
echo '<li><input type="checkbox"
name="checks1[' . $count . ']" value="'.$row->id.'"/> '.$row->name.'</li>';
$count++;
}
可以做你需要的。你的控制器将是:
foreach($this->input->post(checks1) as $key => $value)
{
echo $key . ' - ' . $value;
}