【问题标题】:$_POST checkbox array only returns single value$_POST 复选框数组只返回单个值
【发布时间】:2016-09-09 15:11:40
【问题描述】:

以 $_POST['clients'] 结尾的 foreach 循环只返回一个值。怎么了?

 <?php $clients_to_display = Client::find_all(); ?>
            <p><?php foreach ($clients_to_display as $key) {
                echo $key->name; ?>:<input type='checkbox' name='clients[]' value=<?php $key->name; ?></><br/>
            <?php } ?></p>

        if(isset($_POST['submit'])){

        $job->name = $_POST["job_name"];
        $job->description = $_POST["job_description"];
        $job->type = $_POST["job_type"];
        $job->age = $_POST["job_age"];

    foreach ($_POST['clients'] as $key) {
        echo $key;
    }
}

【问题讨论】:

  • 如果print_r($_POST['clients'])?
  • 顺便说一句 - 这是什么&lt;/&gt;

标签: php html mysql post


【解决方案1】:

这段代码什么都不做:

<?php $key->name; ?>

我想你想要:

<?php echo($key->name); ?>

另外,它必须用引号引起来:

value="<?php echo($key->name); ?>"

标记也无效。所以,整行应该是:

echo($key->name); ?>:<input type="checkbox" name="clients[]" value="<?php echo($key->name); ?>" /><br/>

【讨论】:

  • 非常感谢,它可以工作。为什么值部分必须用引号引起来?提前致谢。
  • 很高兴为您提供帮助。所有 HTML 属性都必须用引号括起来才能成为有效的标记。
猜你喜欢
  • 1970-01-01
  • 2016-01-25
  • 2015-11-24
  • 2013-03-27
  • 1970-01-01
  • 2015-09-19
  • 2011-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多