【问题标题】:Multiple checkboxes with one name (no jquery!)一个名称的多个复选框(没有 jquery!)
【发布时间】:2018-01-27 05:49:52
【问题描述】:

我有以下复选框列表:

<input type="checkbox" name="day_of_week" value="1">Monday
<input type="checkbox" name="day_of_week" value="2">Tuesday
<input type="checkbox" name="day_of_week" value="3">Wednessday
<input type="checkbox" name="day_of_week" value="4">Thursday
<input type="checkbox" name="day_of_week" value="5">Friday
<input type="checkbox" name="day_of_week" value="6">Saturday
<input type="checkbox" name="day_of_week" value="7">Sunday

用户提交完整表单后,我在另一个文件中收到它:

$week_days = mysqli_real_escape_string($this->db->conn_id, $_POST['day_of_week'])

但是 $week_days 只包含最后选中的复选框的值,而不是全部。如何接收所有值?

【问题讨论】:

标签: html forms codeigniter post checkbox


【解决方案1】:

名称应该是一个数组。

<input type="checkbox" name="day_of_week[]" value="1">Monday
<input type="checkbox" name="day_of_week[]" value="2">Tuesday
<input type="checkbox" name="day_of_week[]" value="3">Wednessday
<input type="checkbox" name="day_of_week[]" value="4">Thursday
<input type="checkbox" name="day_of_week[]" value="5">Friday
<input type="checkbox" name="day_of_week[]" value="6">Saturday
<input type="checkbox" name="day_of_week[]" value="7">Sunday

希望这会有所帮助。


对于您的第二个错误,mysqli_real_escape_string 接受第二个参数作为字符串,并且您正在传递数组。请查看this

string mysqli_real_escape_string ( mysqli $link , string $escapestr )

请使用 for 循环来解决该错误。

【讨论】:

  • 产生以下错误:消息:mysqli_real_escape_string() 期望参数 2 为字符串,给定数组
  • 这样解决了:$week_days = '';for($i=0;$i&lt;7;++$i){ $week_days .= (isset($_POST['day_of_week'][$i])) ? mysqli_real_escape_string($this-&gt;db-&gt;conn_id,$_POST['day_of_week'][$i]) : '';}
  • 是的,我就是这么说的。你需要使用循环来解决它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-21
  • 2013-07-20
  • 1970-01-01
  • 1970-01-01
  • 2017-06-27
  • 2013-05-09
  • 2012-02-09
相关资源
最近更新 更多