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

url传值的一个问题

[复制链接]
发表于 2009-4-15 10:10:34 | 显示全部楼层 |阅读模式
本帖最后由 Sn.LUF 于 2009-4-15 11:11 编辑

我在照着《PHP 敏捷开发框架 CodeIgniter》的3.7.2中做,代码如下:
<?php
class Start extends Controller{
  var $base;
  var $css;
function Start(){
  parent::Controller();
  $this->base = $this->config->item('base_url');
  $this->css  = $this->config->item('css');
  }
function hello($name) {
  $data['css']=$this->css;
  $data['base']=$this->base;
  $data['mytitle']="welcome to this site";
  $data['mytext']="hello,$name,now we are dynamic!";
  $this->load->view('testview',$data);
  }
}
?>

遇到这样的问题:

A PHP Error was encountered
Severity: Warning
Message: Missing argument 1 for Start::hello(), called in C:\NewDisk\program\xampp\htdocs\WorkSpace\CodeIgniterblog\system\codeigniter\CodeIgniter.php on line 171 and defined
Filename: controllers/start.php
Line Number: 10
welcome to this site
hello,,now we are dynamic!

用site.cn/index.php/start/hello/fred访问时其中的$name名称出不来,还报错,如果给$name赋一个默认值就一直显示默认的名字,fred这个值还是没有成功传递。请问这是怎么回事呢?
 楼主| 发表于 2009-4-15 10:57:48 | 显示全部楼层
怎么就没人帮我看看呢
发表于 2009-4-15 11:14:59 | 显示全部楼层
你试试$this->uri->segment();
用法请参考uri类
http://codeigniter.org.cn/user_guide/libraries/uri.html
发表于 2009-4-15 11:26:46 | 显示全部楼层
CI的社区还不是很火。但几个管理都很有责任心。
他们也应该在工作吧。有时间才能到这里看看。耐心等等。他们一定会帮助你地。
 楼主| 发表于 2009-4-15 12:22:06 | 显示全部楼层
呵呵,谢谢啦,我看见了,这里都是几个管理员在回答问题的
发表于 2009-4-15 12:35:10 | 显示全部楼层
这个问题有可能是此书的代码错误,因为是译作,再加上其是为 CI 1.5 版本编写的书,所以可能会有一些 BUG。

不过,我没有从这个代码看出来任何问题,$name 应该会被赋值 fred 吧,楼主的 CI 版本是?
 楼主| 发表于 2009-4-15 12:46:40 | 显示全部楼层
汗,我下载的时候没注意。
有没有哪个文件中包含了版本信息?
 楼主| 发表于 2009-4-15 13:09:35 | 显示全部楼层
找到了,是1.5.4版本的
发表于 2009-4-15 14:06:19 | 显示全部楼层
那看版本应该没什么问题,楼主可以换个 CI 版本,就这个例子来说,新版也是没问题的。

本版积分规则