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

    目前我有一个 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,但用逗号分隔。其余的我可以理解和写,使用关于这类问题的其他问题。


提前感谢您提供的所有帮助。


慕虎7371278
浏览 99回答 1
1回答

冉冉说

您的 html 应如下所示:<form action="" method="post">&nbsp; <input name="choice[]" type="checkbox" value="1" />&nbsp;&nbsp; <input name="choice[]" type="checkbox" value="2" />&nbsp;&nbsp; <input name="choice[]" type="checkbox" value="3" />&nbsp;&nbsp; <input name="choice[]" type="checkbox" value="4" />&nbsp;&nbsp; <input type="submit" value="order" /></form>在 PHP 中,您可以使用循环进行迭代foreach。将以下代码放在 html 表单的顶部:基础的一个小说明,当通过 post 方法发布数据时,您需要应用Post redirect get设计模式来防止表单重新提交。如果您发送的数据不敏感,您可以通过获取请求来完成。<?php&nbsp; &nbsp; if($_POST):&nbsp; &nbsp; foreach($_POST['choice'] as $val)&nbsp; &nbsp; {&nbsp; &nbsp; echo $val . "<br>";&nbsp; &nbsp; }&nbsp; &nbsp; endif;?>
打开App,查看更多内容
随时随地看视频慕课网APP