php - 如何将多个复选框值传递给 php

标签 php html post dom checkbox

目前我有一个 HTML 表单,它收集有关某些文件的一些元数据,以及每个用户填写一些字段的信息。我想注册一些关于数据的关键字。我可以要求他们在普通文本框中手写关键字,但我更希望有一个大约 10/15 值的复选框列表。

然后我需要仅将检查的值传递到 PHP 文件,使用 $_POST 。我的问题是我将一个变量分配给这些值,然后在 DOM 事件中调用该变量。我正在生成一个 XML 文件,目前我已经准备好 HTML 来在文本输入中注册这些关键字。我了解如何创建复选框,并将它们作为数组传递给 PHP。,通过阅读此处的其他问题。但我不明白如何将此数组传递给 $dom->createElement情况,最好用逗号分隔。

PHP

//Pull data from HTML form
$keywordsString = $_POST['keywords'];

// Creates xml document
$dom = new DOMDocument();
    $dom->encoding = 'utf-8';
    $dom->xmlVersion = '1.0';
    $dom->formatOutput = true;

$xmlFileName = 'example_example.xml';

// Adds metadata to xml
$metadata = $dom->createElement('MD_Metadata');

    $idInfo = $dom->createElement('identificationInfo');
        $descriptiveKeywords = $dom->createElement('descriptiveKeywords');
                $CharacterString = $dom->createElement('CharacterString', $keywordsString);
                $descriptiveKeywords->appendChild($CharacterString);
            $idInfo->appendChild($descriptiveKeywords);
    $metadata->appendChild($idInfo);

$dom->appendChild($metadata);

$dom->save($xmlFileName);

我不知道如何将复选框值传递给 $keywordsString ,但用逗号分隔。其余的我可以使用有关此类问题的其他问题来理解和编写。

预先感谢您提供的所有帮助。

最佳答案

您的 html 应该如下所示:

<form action="" method="post">
  <input name="choice[]" type="checkbox" value="1" /> 
  <input name="choice[]" type="checkbox" value="2" /> 
  <input name="choice[]" type="checkbox" value="3" /> 
  <input name="choice[]" type="checkbox" value="4" /> 
  <input type="submit" value="order" />
</form>

在 PHP 中,您可以使用 foreach 循环进行迭代。将以下代码放在 html 表单的顶部:

从基础开始的一个小注意事项,当通过post方法发布数据时,您需要申请Post redirect get防止表单重新提交的设计模式。

如果您发送的数据不敏感,您可以通过get请求来完成。

<?php
    if($_POST):
    foreach($_POST['choice'] as $val)
    {
    echo $val . "<br>";
    }
    endif;
?>

关于php - 如何将多个复选框值传递给 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59361213/

相关文章:

html - 显示/隐藏多个 Div Javascript

php - Instagram API订阅,如何获取帖子?

angularjs - 在 $http.post 之后用 $http.get 重新加载 Controller

php - 使用 Bootstrap 居中内容

php - 在我的 Laravel 应用程序中,数据库关系名称及其最佳实践

html - 仅对选定图像禁用边框或悬停效果

java - Android 应用程序 - 将数据发布到 Google 表单

php - HTML 表单停止重定向并允许 PHP 从 HTML 文件中调用 JavaScript

php - $_post 不携带从 html 文本字段输入的数据

html - 在 IE9 中调整图像像素化