【问题标题】:Make a checkbox send to database将复选框发送到数据库
【发布时间】:2013-11-28 00:59:52
【问题描述】:

如何将复选框发送到数据集?

我的一些代码:(我认为除了复选框之外的所有东西都有效)

<label for="year">Question</label>
      <input type="checkbox" name="2014" value="2014"><span class="cb">2013/2014</span><br/>
      <input type="checkbox" name="2015" value="2015"><span class="cb">2014/2015</span><br/>

代码

if( isset($_POST['save'])) {

    if( $_POST['year']!="" ){

代码

连接

    $sql = "INSERT INTO vakt(year)
            VALUES('".$_POST['year']."') ";

【问题讨论】:

  • 使用 js 函数将复选框值存储到隐藏的文本框(使用 document.getElementById 存储),并使用简单的表单从 php 获取该值。
  • 您最大的问题是盲目地将用户提交的数据插入到数据库中,使您容易受到 SQL 注入的攻击。先解决这个问题,你应该对出了什么问题有一个很好的了解。

标签: php database forms checkbox


【解决方案1】:

为所有复选框赋予相同的名称值,以 [] 结尾:

<input type="checkbox" name="years[]" value="2014"><span class="cb">2013/2014</span><br/>
<input type="checkbox" name="years[]" value="2015"><span class="cb">2014/2015</span><br/>

然后就可以在php中以数组的形式获取选中的年份:

foreach($_POST['years'] as $year) {
    // Insert $year into database
}

出于安全原因,请确保您正确转义任何用户提交的数据

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    • 2013-08-09
    • 2013-08-13
    • 1970-01-01
    • 2015-08-01
    相关资源
    最近更新 更多