You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter3如何绑定输入框值?编辑表单输入框为空排查

CodeIgniter3 编辑表单输入框值为空问题修复

你当前打印的原始数据结构如下:

Array ( 
    [0] => stdClass Object ( 
        [id] => 14 
        [book_id] => test_565 
        [book_name] => Pelerin 
        [book_number] => 2323232 
        [address] => ssss  
        [status] => 1 
    ) 
)

一共两处核心代码错误,分别在控制器和视图层:

1. 控制器传参不符合CI3视图加载规则

CI3调用$this->load->view()时,第二个参数必须传入字符串键名的关联数组,框架会自动对这个数组执行extract(),把键名转换为视图层可直接调用的变量。你当前直接传入带数字下标的索引数组,extract()无法生成合法的PHP变量,视图层根本读不到你传的图书数据。
原错误控制器代码:

$data = $res->stations;
//return print_r($data);
$this->load->view('edit-book',$data);

修正方案:把图书数据放到关联数组中再传入视图,键名可以自定义为book_info,建议直接取单条数据省掉视图层的索引书写:

$book_info = $res->stations[0];
$this->load->view('edit-book', [
    'book_info' => $book_info
]);

2. 视图层变量调用语法错误

原视图代码有两个语法问题:一是不存在$data这个变量,二是数组下标没加引号、没写对应索引,PHP解析时会直接报错,无法拿到正确的字段值。
原错误视图代码:

<input type="text" name="product_title" class="form-control" value="<?php echo $data[stations]->book_name;?>" id="exampleInputName1" placeholder="">

修正后代码:

<input type="text" name="product_title" class="form-control" value="<?php echo html_escape($book_info->book_name);?>" id="exampleInputName1" placeholder="">

这里加的html_escape()是CI自带的转义函数,避免图书名里有引号、特殊字符时打乱HTML属性结构。


内容的提问来源于stack exchange,提问作者dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 10:15:30