【问题标题】:Inbox-System Checkboxes To Select Messages用于选择邮件的收件箱系统复选框
【发布时间】:2010-01-28 01:58:59
【问题描述】:

我们目前正在我们的网站中实施收件箱系统,并希望用户能够选中多个收件箱消息并单击删除链接以批量删除它们。

每条收件箱消息在数据库中都有自己的 ID。

我们需要帮助的是让复选框系统正常工作。我们不知道从哪里开始;我们是否必须给每个人一个 ID 或用 PHP 填写一些值 - 我们只是不知道。非常感谢任何帮助。

【问题讨论】:

    标签: php sql checkbox inbox


    【解决方案1】:

    您可以为所有复选框赋予相同的名称,以 [] 结尾,以及不同的值,如下所示:

    <input type="checkbox" name="deletemessage[]" value="367"/>
    <input type="checkbox" name="deletemessage[]" value="394"/>
    <input type="checkbox" name="deletemessage[]" value="405"/>
    

    这样,当表单提交时,PHP 会将所有选择的值放入 $_POST 内的数组中。因此,如果在上面的示例中选中了顶部和底部的复选框,$_POST['deletemessage'] 将包含 [367, 405]

    【讨论】:

    • 谢谢你解释得这么好!
    【解决方案2】:

    xHTML 表单

    <input type="checkbox" name="record[]" value="1" />
    <input type="checkbox" name="record[]" value="2" />
    <input type="checkbox" name="record[]" value="3" />
    <input type="checkbox" name="record[]" value="4" />
    

    PHP

    <?php
    
    foreach ($_POST['record'] AS $id) {
    
        $id = (int)$id; // Force to integer (little of security)
    
        // Delete the record
        mysql_query("DELETE FROM `table` WHERE `id` = {$id}");
    
    }
    
    ?>
    

    【讨论】:

      【解决方案3】:
      <input type="checkbox" name="check[]" value=1 />
      <input type="checkbox" name="check[]" value=2 />
      <input type="checkbox" name="check[]" value=3 />
      <input type="checkbox" name="check[]" value=4 />
      <input type="checkbox" name="check[]" value=5 />
      

      这将返回一个您可以循环的数组。

      <?php
      foreach ($_POST["check"] as $value)
      {
      echo "message id: $value";
      }
      ?>
      

      关于安全性的说明,您需要确保消息 ID 与尝试删除消息的用户相关联。

      【讨论】:

      • 一个有效的 XHTML 将是:
      【解决方案4】:

      首先为所有复选框赋予相同的名称,并在末尾添加方形 brqackets somename[]

      当您提交表单(作为 POST)时,请执行 print_r($_POST)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-13
        • 2012-06-30
        • 1970-01-01
        • 2015-09-10
        • 2019-03-30
        • 2012-03-24
        • 1970-01-01
        相关资源
        最近更新 更多