dttphb59319 2017-04-18 04:36
浏览 45
已采纳

如何在codeigniter中获取值数组?

How to get value post array in codeigniter? I have problem when I get value post array and echo the value. How to show post value when submit? here the error message:

A PHP Error was encountered

Severity: Notice

Message: Uninitialized string offset: 0

Filename: controllers/blablabla

view html:

<?php $i=0; foreach ($doc as $row) { ?>
<label>
<input name="size[<?php echo $i; ?>]" type="checkbox" value="<?php echo $row['doc']; ?>">&nbsp;&nbsp;<?php echo $row['doc']; ?>
</label>
<?php $i++; } ?>

controller :

$size = $this->input->post('size');
for ($i=0; $i<count($doc); $i++) 
{
   echo $size[$i];
}
  • 写回答

3条回答 默认 最新

  • dongqiang5865 2017-04-18 05:03
    关注

    Change the way name of checkbox written as follows,

    <?php foreach ($doc as $row) { ?>
    <label>
      <input name="size[]" type="checkbox" value="<?php echo $row['doc']; ?
      >">&nbsp;&nbsp;<?php echo $row['doc']; ?>
    </label>
    <?php } ?>
    

    And in post method,

    $size_arr = $this->input->post('size');
    foreach($size_arr as $v){
      echo $v;
    }
    

    if for some reason it is not working then check with,

    $size_arr = $_POST['size'];
    foreach($size_arr as $v){
      echo $v;
    }
    

    EDIT

    One more alternative,

    $arr = $this->input->post();
    $size_arr = $arr['size'];
    foreach($size_arr as $v){
      echo $v;
    }
    

    Core version,

    $arr = $_POST;
    $size_arr = $arr['size'];
    foreach($size_arr as $v){
      echo $v;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • douju9847 2017-04-18 04:59
    关注

    Your html form code should be like below.

    <input name="size[<?php echo $i; ?>]" type="checkbox" value="<?php echo $row['doc']; ?>"> 
    

    Inside controller your code should be like below.

    $size = $this->input->post('size');
    foreach($size as $sa)  
    {
       echo $sa;
    }
    
    评论
  • dtueufe82643 2017-04-18 05:08
    关注

    No need to use $i in checkbox name in view file just take an array

    View file

    <?php foreach ($doc as $row) { ?>
    <label>
    <input name="size[]" type="checkbox" value="<?php echo $row['doc']; ?>">&nbsp;&nbsp;<?php echo $row['doc']; ?>
    </label>
    <?php  } ?>
    

    Controller

    $countsize = count($this->input->post('size'));
    for ($i=0; $i<$countsize ; $i++) 
    {
       echo $this->input->post('size')[$i];
    }
    
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 VB6.0中PICTUREBOX加载本地图片无法显示
  • ¥100 关于游戏app session获取的问题
  • ¥15 MYSQL数据库建表
  • ¥15 爬虫程序爬取TTGChina网站文章代码
  • ¥35 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。
  • ¥15 如何用下图方法在AMESim中搭建离心泵模型
  • ¥15 C#连接服务器,请求时报Ssl/Tsl未能建立安全通道
  • ¥15 xcode15build的c++ dylib在10.15上不兼容
  • ¥15 CPLD如何实现在线逻辑分析
  • ¥15 控制面板卸载无权限!!