【问题标题】:Checkbox and php复选框和php
【发布时间】:2011-11-10 05:15:19
【问题描述】:

请帮忙。

我正在尝试使用 php 动态命名我的复选框。我正在使用 POST。 我遇到的问题是 $element 不起作用。 $_POST 的结果 不显示任何复选框。

提前感谢您的帮助。

foreach(array_keys($cart_array) as $element)
{ 
    print "<input type = 'checkbox' checked name = '{$element}' />";
}

但是像

foreach(array_keys($cart_array) as $element)
{ 
    print "<input type = 'checkbox' checked name = '$element}' />";
}

工作得很好。注意缺少的 { near $element}。此代码将显示哪些复选框是 在!!打印出来的数组会有一个额外的“}”

Array
(
    [Tomato_and_Cheese_small] => on
    [Tomato_and_Cheese_small}] => 1
    [Tomato_and_Cheese_large] => on
    [Tomato_and_Cheese_large}] => 1
)

ps。还有其他输入,例如可以发布到 $_POST 的文本。 print_r($cart_array) 也可以正常工作。

【问题讨论】:

  • $cart_array 的内容是什么?你能表演print_r($cart_array)吗?
  • 另外,提供print_r($_POST)
  • 数组([Tomato_and_Cheese_small] => 2 [Tomato_and_Cheese_large] => 1)
  • 在您的问题中您提到单选按钮,在您的代码示例中您打印复选框。哪一个造成了问题?
  • 好的,我还有一件事需要你执行才能给你准确的答案,你能在 foreach 循环中执行print_r($element),我需要确定它包含什么。

标签: php html post checkbox


【解决方案1】:

如果未选中复选框,则它不会出现在 post 参数中。

【讨论】:

  • 谢谢。这是一个我遇到问题的复选框,而不是单选按钮。
【解决方案2】:

浏览器发送单选按钮的值只有在它们被选中时。

此外,每个单选按钮必须具有相同的名称(如果您希望用户只能检查其中一个)。只有值改变:

print '<input type=checkbox checked value="'.htmlspecialchars($element).'" name=checked_items />';

发布这个并检查$_POST['checked_items']的值

【讨论】:

  • @arnaud 抱歉,我想说的是复选框而不是单选按钮。
【解决方案3】:

发生的事情是他有名称为 $element 的复选框和具有相同名称的文本字段之后。因此 $_POST 中的复选框名称 $element 被文本字段 $element

覆盖

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2011-09-25
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多