【问题标题】:Php checkbox value post to view using codeigniter framework使用 codeigniter 框架查看的 PHP 复选框值发布
【发布时间】:2019-04-15 17:24:26
【问题描述】:

将选中复选框的值从 php 表单发布到 codeigniter 框架中查看

php表单

<input type='checkbox' value="<?php echo $row_id ?>">
<input type='hidden' name='asap[]' value="1 " >
<input type='hidden' name='asap[]' value="2 " >
<input type='hidden' name='asap[]' value="3 " >

控制器

$asap=> $this->input->post('asap')

查看

echo $asap;

复选框的值不显示在视图中

【问题讨论】:

  • 有什么问题? $asap 将是一个数组(我认为
  • 哦,我忘记了 .. 视图没有回显我输入的帖子
  • echo $asap[0]; 也许?
  • 未定义索引:尽快,但我已经将其定义为 $this->load-view('view');
  • 还是看不懂这里是我的完整控制器public function view() { $this-&gt;layout-&gt;buffer ( array( 'asap' =&gt;$this-&gt;input-&gt;post('asap') )); $this-&gt;load-&gt;view('view'); }

标签: php codeigniter checkbox


【解决方案1】:

查看:

<input type='checkbox' name='cname' value="<?php echo 'cvalue'; ?>">//changes
<input type='hidden' name='asap[]' value="1" >
<!--removed right space from value-->
<input type='hidden' name='asap[]' value="2" >
<!--removed right space from value-->
<input type='hidden' name='asap[]' value="3" >
<!--removed right space from value-->

控制器:

//here you have syntax error use `=` instead `=>`
$postData = $this->input->post();
//you get all your post data, if you added `name` attribute only
print_r($postData);
//it will return you first hidden value
print_r($postData['asap'][0]);
echo '------------';
echo 'loop values';
$asap = $this->input->post('asap');
foreach($asap as $row){
       echo $row.'<pre>';
}

输出:

Array
(
    [cname] => cvalue
    [asap] => Array
        (
            [0] => 1 
            [1] => 2 
            [2] => 3 
        )

)
1
----------
loop values
1
2
3

【讨论】:

  • 他正在使用 CodeIgniter :)
  • @Eddie,我错过了什么吗?
  • 我对 CI 一点也不熟悉,但我很确定它有一个正确的方法来获取 post 数据而不是 $data = $_POST
  • ok 更新了代码,我假设他,阅读了用户指南中的所有内容,谢谢@Eddie
  • 谢谢先生,我现在可以得到价值,但我怎样才能逐行回显它们? &lt;td&gt;&lt;?php echo $asap&gt;foreach ($asap as sap) {1 逐 1 或逐行回显
【解决方案2】:

你想得到复选框的值,所以你需要放入一个数组中。

在控制器中

public function update() {
   $completed_asap = $this->input->post('asap');
   // No need to echo $completed_asap. If you want then please do below line.
   // var_dump($completed_asap);
   foreach ($completed_asap as $asap_id) {
      echo 'The asap with id = ' . $asap_id. ' is marked as completed.<br>';
   }
}

在你看来

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Simple CodeIgniter</title>
    <link rel="stylesheet"
    href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        <h1>Todos</h1>
        <?php echo form_open('controller_name/update'); ?>
            <div class="list-group">
                <?php foreach ($todos as $todo) { ?>
                    <div class="list-group-item clearfix">
                        <?php echo form_checkbox('asap[]', $asap->id, $asap->completed); ?>
                        <?php echo $asap->task; ?>
                    </div>
                <?php } ?>
            </div>
            <button type="submit">Submit</button>
        <?php echo form_close();
    </div>
</body>
</html>

【讨论】:

    猜你喜欢
    • 2013-09-30
    • 1970-01-01
    • 2023-03-07
    • 2014-12-03
    • 2013-01-24
    • 1970-01-01
    • 2013-03-26
    • 2014-11-06
    • 2015-07-03
    相关资源
    最近更新 更多