现在已经为此苦苦挣扎了一段时间,可能很简单......
我在尝试提交联系表单时不断收到以下错误
Warning: implode() [function.implode]: Invalid arguments passed in .... on line 240.
HTML代码
<input type="checkbox" name="socialmedia[]" value="Facebook">Facebook<br>
<input type="checkbox" name="socialmedia[]" value="Twitter">Twitter<br>
<input type="checkbox" name="socialmedia[]" value="YouTube">YouTube<br>
<input type="checkbox" name="socialmedia[]" value="Flickr">Flickr<br>
<input type="checkbox" name="socialmedia[]" value="Vimeo">Vimeo<br>
PHP 代码
$socialmedia = array();
$socialmedia = implode(",",$_POST['socialmedia']);
有什么想法吗?
我以前在用户没有选中任何框时看到过这种情况。您收到警告的原因是因为如果没有选中复选框,$_POST['socialmedia']
实际上并不存在。您实际上是在调用 implode(",", NULL);
获取字符串中选中的复选框:
$checkboxes = !empty($_POST['socialmedia']) ? $_POST['socialMedia'] : array();
$socialmedia = implode(',' $checkboxes);
您似乎希望将它们放在一个数组中。很难从你的问题中分辨出来。如果你想把它们放在一个数组中,你可以这样做:
$socialmedia = !empty($_POST['socialmedia']) ? $_POST['socialMedia'] : array();
$socialmedia
如果没有选中复选框,则将是一个空数组,或者将包含复选框的值。
我是一名优秀的程序员,十分优秀!