【问题标题】:How to get values from checkboxes to php array on button click?如何在按钮单击时从复选框获取值到 php 数组?
【发布时间】:2021-04-12 14:18:14
【问题描述】:

我有问题。我想从复选框中获取选中的值并将它们添加到 php 数组中,但我不知道该怎么做。我可以在 javascript 中做到这一点,但我想要一个 php 数组,但我不知道如何将 js 数组转换为 php 数组。我将在下一个 php 文件中使用该数组,并使用这些值从数据库中搜索行。如果有人提出一些建议,我将不胜感激,因为我不知道。

while ($row = mysqli_fetch_array($search)) {
            $category = $row["Category"];
            echo<inputtype=\"checkbox\"name=\"category\"value=\"$category\"required/>$kategoria</input><br /><br />";
}

<a id='answer' href='questions.php'><button>Answer to questions!</button></a>

这就是我制作复选框然后单击按钮移动到下一个文件的方式

【问题讨论】:

  • 网页上的 PHP 和 JavaScript 具有独立的非重叠生命周期。它得到一个 JS 数组到 PHP 你需要做一个 ajax 回调到服务器
  • 首先你的代码有一些错误。我希望那些来自复制/粘贴。您只需将复选框放入 html 表单,然后将表单发布到 php 文件。然后在 php 中,你必须从像 $_POST['category'] 这样的复选框中获取值。如果它们没有被检查,那么它们将不会被发布,所以你必须先检查 $_POST 数组是否存在。
  • 您是要进行常规提交还是 AJAX 请求?

标签: javascript php arrays


【解决方案1】:
【解决方案2】:

将此用于您的表单:

<form method="POST" action="questions.php">
    <input type="checkbox" name="myInput" id="myInput" value="checked" />
    <label for="myInput">Checkbox</label>

    <!-- A submit button -->
    <input type="submit" value="Submit values" />
</form>

然后在 questions.php 中,将所有值添加到变量 $_POST:

// Foreach item in the POST array.
foreach ($_POST as $item => $value) {

    // The value will be stored in $value
}

如果复选框被选中,$value 变量将被选中。否则为空。

来源:PHP: Foreach in a multidimensional array

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-22
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多