【问题标题】:Checked checkbox not sending value with $_POST foreach选中的复选框未使用 $_POST foreach 发送值
【发布时间】:2015-10-19 04:13:47
【问题描述】:

我在代码中有一个 PHP 邮件表单:

foreach ($_POST as $key => $value) {
    $querydetails = $querydetails  . '<li>' .  $key . ': ' . $value . ' </li>';
}

简单吧?对文本输入正常工作,但对复选框无效。

我有这个用于表单中的复选框:

<input type="checkbox" name="fsfnew" value="I'd like x!">
<input type="checkbox" name="fsfused" value="I need y!">

如果我只选中一个复选框,两个键都会发送出去,但没有任何价值。

如果我没有选中任何复选框,我会在没有值的情况下发送两个键。

如果我选中所有复选框,我会在没有值的情况下发送两个键。

这应该很简单,我已经做了好几个小时了,还是搞不定。

【问题讨论】:

  • 您的代码似乎正确。你能把你用过的
    标签放在这里吗?
  • 复选框仅在选中时才会发布。所以,不管有多少复选框,只有那些被选中的才会被发布。
  • 问题是,未选中的框也会通过帖子。

标签: php forms checkbox


【解决方案1】:

您应该为复选框使用 HTML 表格。

<input type="checkbox" name="myCheckboxArray[]" value="I'd like x!" />
<input type="checkbox" name="myCheckboxArray[]" value="I need y!" />

然后在你的 php 文件中:

if (isset($_POST['myCheckboxArray'] && is_array($_POST['myCheckboxArray']) {
    foreach ($_POST['myCheckboxArray'] as $key) {
        //do something
    }
}

【讨论】:

  • 如果我使用标签来设置复选框的样式,这将不起作用,不幸的是我需要这样做。
  • 我不认为使用标签有什么不同。你能解释一下你的意思吗?
猜你喜欢
  • 2015-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-16
  • 1970-01-01
  • 1970-01-01
  • 2022-06-14
相关资源
最近更新 更多