PHP发布复选框问题

时间:2009-09-29 15:03:37

标签: php forms checkbox

我有一个利用复选框的表单。

  

<input type="checkbox" name="check[]" value="notsure"> Not Sure, Please help me determine <br /> <input type="checkbox" name="check[]" value="keyboard"> Keyboard <br /> <input type="checkbox" name="check[]" value="touchscreen"> Touch Screen Monitors <br /> <input type="checkbox" name="check[]" value="scales">Scales <br /> <input type="checkbox" name="check[]" value="wireless">Wireless Devices <br />

这是在外部php文件中处理此表单的代码。

$addequip = implode(', ', $_POST['check']);

我在下面不断收到此错误;


<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Invalid arguments passed in <b>.../process.php</b> on line <b>53</b><br />
OK

3 个答案:

答案 0 :(得分:1)

是否勾选了您的任何复选框? php的$_POST数组只有勾选的复选框

使你的警告保持沉默:

$addequip = implode(', ', empty($_POST['check']) ? array() : $_POST['check'] );

答案 1 :(得分:0)

答案 2 :(得分:0)

您好我发布此问题的原始用户我无法登录我的帐户,因此从其他帐户发布。经过几个小时的尝试,我以某种方式设法使其部分工作。下面是复选框的html和流程代码

<input type="checkbox" name="check" value="Touchscreen"> Touchscreen<br>
<input type="checkbox" name="check" value="Keyboard"> Keyboard<br>
<input type="checkbox" name="check" value="Scales"> Scales<br>

我不得不删除[]所以它会起作用。下面是那些希望看到的整个帖子方法。它与其他所有领域完美搭配。

<form id="contact_form" action="process.php" method="POST" onSubmit="return processForm()">

以下是处理复选框的php代码。出于某种原因,我必须告诉脚本$ _POST ['check']是一个没有它只返回数组的数组。建议的所有其他方法返回无效参数传递错误。

$chckbox = array($_POST['check']);
                if(is_array($chckbox))
                {
                  foreach($chckbox as $addequip) {
                  $chckbox .="$addequip\n";
                  }
                }

所以这段代码可以工作,但只返回1个复选框值,无论你勾选多少,都会勾选。