目前我有一个 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,但用逗号分隔。其余的我可以理解和写,使用关于这类问题的其他问题。提前感谢您提供的所有帮助。
1 回答
冉冉说
TA贡献1877条经验 获得超1个赞
您的 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设计模式来防止表单重新提交。
如果您发送的数据不敏感,您可以通过获取请求来完成。
<?php
if($_POST):
foreach($_POST['choice'] as $val)
{
echo $val . "<br>";
}
endif;
?>
- 1 回答
- 0 关注
- 98 浏览
添加回答
举报
0/150
提交
取消