首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从POST获取复选框数组值

从POST获取复选框数组值
EN

Stack Overflow用户
提问于 2012-05-18 23:20:58
回答 5查看 124.6K关注 0票数 11

我张贴了一系列的复选框。我不能让它工作。为了简单起见,我没有在foreach循环中包含正确的语法。但它正在发挥作用。我尝试使用文本字段而不是复选框来做同样的事情,并且它与文本字段一起工作。

代码语言:javascript
复制
<form method="post">
<?php 
foreach{
echo'
<input id="'.$userid.'" value="'.$userid.'"  name="invite[]" type="checkbox">
<input type="submit">';
}
?>
</form>

这是不起作用的部分。它回显'invite‘而不是数组。

代码语言:javascript
复制
<?php
    if(isset($_POST['invite'])){
$invite = $_POST['invite'];
echo $invite;
}
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-05-18 23:29:31

您的$_POST数组包含invite数组,因此将其读出为

代码语言:javascript
复制
<?php
if(isset($_POST['invite'])){
  $invite = $_POST['invite'];
  echo $invite;
}
?>

不会工作,因为它是一个数组。您必须遍历数组才能获得所有值。

代码语言:javascript
复制
<?php
if(isset($_POST['invite'])){
  if (is_array($_POST['invite'])) {
    foreach($_POST['invite'] as $value){
      echo $value;
    }
  } else {
    $value = $_POST['invite'];
    echo $value;
  }
}
?>
票数 24
EN

Stack Overflow用户

发布于 2012-05-18 23:41:46

我只使用了以下代码:

代码语言:javascript
复制
<form method="post">
    <input id="user1" value="user1"  name="invite[]" type="checkbox">
    <input id="user2" value="user2"  name="invite[]" type="checkbox">
    <input type="submit">
</form>

<?php
    if(isset($_POST['invite'])){
        $invite = $_POST['invite'];
        print_r($invite);
    }
?>

当我选中这两个框时,输出是:

代码语言:javascript
复制
Array ( [0] => user1 [1] => user2 )

我知道这不能直接回答您的问题,但它为您提供了一个可供参考的工作示例,希望能帮助您解决问题。

票数 14
EN

Stack Overflow用户

发布于 2015-02-03 05:05:46

查看implode()函数作为替代方法。这会将数组转换为列表。第一个参数是您想要的项目分隔方式。在这里,我使用了逗号后跟一个空格。

代码语言:javascript
复制
$invite = implode(', ', $_POST['invite']);
echo $invite;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10655355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档