hongyzniu 发表于 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没有定义。。。跪求解答 谢谢

Hex 发表于 2010-2-7 11:51:46

在视图中,CI 会自动转换成这样的变量名:
$ss 和 $tt,他们的值分别为 'fdfd' 和 'fdfdjf'

这个在手册里也有实例,自己思考一下就明白了。

hongyzniu 发表于 2010-2-7 11:55:55

回复 2# Hex
那现在我不用数组变量直接改成
$data="a";
this->load->view('welcome_message',$data);

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

也一样不能显示啊。我不是很明白你的意思。。

hongyzniu 发表于 2010-2-7 11:59:42

回复 2# Hex
需要设置config.php文件么?唉。。。我没什么php基础
但最近又必须得加快完成一个项目。。。guide里的url一章就没看懂啥意思。。。

Hex 发表于 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 比较好。

baiyuxiong 发表于 2010-2-8 08:59:54

建议先学学php

在控制器里:$data=1;$data=2;
在view里,是不用$data的。而是:$a,$b

incy 发表于 2010-2-8 09:24:39

曾经遇到与楼主相同困惑,开始挺不习惯,慢慢习惯了就好了,一起加油~
页: [1]
查看完整版本: 最弱的问题——控制器传参