gpt4 book ai didi

PHP:如何将 $_POST 中的多个复选框数组保存在变量中

转载 作者:行者123 更新时间:2023-12-03 02:54:37 24 4
gpt4 key购买 nike

我是 PHP 新手,正在寻求以下方面的帮助:

我有一个大型 HTML 表单,其中包含各种输入、选择和文本区域。提交时,我将所有字段值传递到另一个 PHP 页面,以使用它们创建电子邮件。

这适用于文本输入、单选按钮、选择、文本区域等。但不适用于复选框

在表单中,我有多个复选框,它们都使用相同的名称,如下所示:

<input type='checkbox' class='someClass' id='language1' name='language[]' value='de - German' />
<input type='checkbox' class='someClass' id='language2' name='language[]' value='en - English' />
<input type='checkbox' class='someClass' id='language3' name='language[]' value='fr - French' />
<!-- ... -->

在 PHP 方面,我尝试了以下操作,但如果我随后使用 $languages 作为我的电子邮件正文,它会显示为空白(而所有其他字段均正确显示):

$languages = implode(',', $_POST['language[]']);

我想做的是将 $_POST["language"] 数组中的所有值保存在一个变量中,并用逗号分隔(末尾没有逗号)。

有人可以帮我解决这个问题吗?

提前非常感谢

最佳答案

如果您在表单中使用 anyname[],PHP 会将其转换为数组,但名称中不包含 []。所以这应该有效:

$languages = implode(',', $_POST['language']);

请注意,未选中的复选框不会被发布,因此如果您不选中任何复选框,则不会发布任何值,并且不会设置 $_POST['language']。您必须检查这一点。

$languages = 'No languages selected';
if (isset($_POST['language'])){
$languages = implode(',', $_POST['language']);
}

关于PHP:如何将 $_POST 中的多个复选框数组保存在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30945393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com