2011-09-04 98 views
2

请帮忙。复选框和php

我想动态地使用php命名我的复选框。我正在使用POST。 我运行的问题是$元不起作用。 $ _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 $元素}。此代码将显示哪些复选框为 !印刷阵列将有一个额外的“}”

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)也可以正常工作。

+0

什么是$内容cart_array overrided?你可以执行'print_r($ cart_array)'吗? – sikas

+0

,并提供'print_r($ _ POST)'。 – sikas

+0

阵列 ( [Tomato_and_Cheese_small] => 2 [Tomato_and_Cheese_large] => 1 ) – kevin

回答

1

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

而且,每个单选按钮必须具有相同的名称(如果你想用户能够只是其中之一检查)。只有价值变动:

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

POST这一点,并检查$_POST['checked_items']

+0

@ arnaud抱歉,我试图说复选框,而不是单选按钮。 – kevin

0

如果复选框未选中它不会出现在后的参数。

+0

谢谢。这是一个复选框,我遇到了问题,而不是单选按钮。 – kevin

0

实际情况是,他与太后,与相同名称的名称$元素和文本字段的复选框的值。所以在$ _ POST复选框名称$元素得到了由文本字段$元素