【问题标题】:Getting checked checkbox values in variable PHP在变量 PHP 中获取选中的复选框值
【发布时间】:2015-10-05 22:23:36
【问题描述】:

我在页面上添加了两个带有提交按钮的复选框。提交后,有一个方法有 foreach 循环来检查哪个复选框被选中,并且该复选框值应该进入变量。如果两个复选框都被选中,那么它应该在变量中附加两个值。但就我而言,这些值是重复的。而且,如果我同时选中两个复选框,它只会选择第二个复选框值。

以下是我的 HTML 代码:

<form name="" action="" method="post">
  <input type="checkbox" name="checkbox[]" value="Training"/> Training <br/><br/>
  <input type="checkbox" name="checkbox[]" value="Posting"/> Posting<br/><br/>

  <input type="submit" value="Submit"/>
 </form>

PHP 代码:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST")
                     {
$value = "";
$name = $_POST['checkbox'];

// optional
// echo "You chose the following color(s): <br>";

foreach ($name as $value){
 //echo $value.", ";
 $value .= $value;

}
echo $value;
//print "<script>alert('".$value."')</script>";
}
 ?>

【问题讨论】:

  • 你的价值观重复是什么意思?你有两次相同的名字吗?
  • 是的,我两次获得相同的名称....例如,如果我选中第一个值为“Training”的复选框,那么在输出中我得到的是 TrainingTraining,如果我只选中值为“Posting”的复选框 2 " 输出很薄,我得到 PostingPosting,如果我选中两个复选框,我得到 "PostingPosting",

标签: php html checkbox


【解决方案1】:

$value 是循环的局部变量,当循环再次继续时,它会被覆盖。

$result = '';
foreach ($name as $value){
    $result .= $value;
}
echo $result;

【讨论】:

    【解决方案2】:
    $name = (array)$_POST['checkbox'];
    $value = '';
    foreach ($name as $val){
        $value .= $val;
    }
    

    【讨论】:

    • (array) 在$_POST 前面不是必须的,name="checkbox[]" 创建数组并发送它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多