我有一个利用复选框的表单。
<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
答案 0 :(得分:1)
是否勾选了您的任何复选框? php的$_POST
数组只有勾选的复选框
使你的警告保持沉默:
$addequip = implode(', ', empty($_POST['check']) ? array() : $_POST['check'] );
答案 1 :(得分:0)
以下网站似乎是您所需要的:
http://www.ozzu.com/programming-forum/desperate-gettin-checkbox-values-post-php-t28756.html
答案 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个复选框值,无论你勾选多少,都会勾选。