用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3290|回复: 6
收起左侧

[已解决] 最弱的问题——控制器传参

[复制链接]
发表于 2010-2-7 11:48:20 | 显示全部楼层 |阅读模式
初学CI框架,下载了CodeIgniter之后我修改了 welcome.php
function index()
{
          $data=array(
            "ss"=>"fdfd",
            "tt"=>"fdfdjf"
         );
        $this->load->view('welcome_message',$data);
}

意图向welcome_message()传递$data

然后在welcome_message中加入
var_dump($data)为什么它告诉我说:data没有定义。。。跪求解答 谢谢
发表于 2010-2-7 11:51:46 | 显示全部楼层
在视图中,CI 会自动转换成这样的变量名:
$ss 和 $tt,他们的值分别为 'fdfd' 和 'fdfdjf'

这个在手册里也有实例,自己思考一下就明白了。
 楼主| 发表于 2010-2-7 11:55:55 | 显示全部楼层
回复 2# Hex
那现在我不用数组变量直接改成
$data="a";
this->load->view('welcome_message',$data);

在welcome_message.php里加入
<?php
   echo $data;
   ?>

也一样不能显示啊。我不是很明白你的意思。。
 楼主| 发表于 2010-2-7 11:59:42 | 显示全部楼层
回复 2# Hex
需要设置config.php文件么?唉。。。我没什么php基础
但最近又必须得加快完成一个项目。。。guide里的url一章就没看懂啥意思。。。
发表于 2010-2-7 12:25:39 | 显示全部楼层
视图必须传递数组进去,而且必须是关联数组,这就是 CI 的规定。
$data= array('a' => '1', 'b' => '2');
this->load->view('welcome_message',$data);
必须这样写,当然,数组里的 key 可以任意命名,$data 也是可以随便命名。

PS: 你如果没有 PHP 基础用 CI 会很吃力,我建议你还是用纯 PHP 比较好。
发表于 2010-2-8 08:59:54 | 显示全部楼层
建议先学学php

在控制器里:$data[a]=1;$data[b]=2;
在view里,是不用$data的。而是:$a,$b
发表于 2010-2-8 09:24:39 | 显示全部楼层
曾经遇到与楼主相同困惑,开始挺不习惯,慢慢习惯了就好了,一起加油~

本版积分规则