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

[已解决] URI类怎么用

[复制链接]
发表于 2010-5-29 13:41:28 | 显示全部楼层 |阅读模式
用index.php/user/login/name/jean形式 怎么才能让接受的页面得到name=jean呢
用这个:$this->uri->uri_to_assoc(n)
发表于 2010-5-29 14:08:05 | 显示全部楼层
要拿到view层传过来的值用$this->uri->segment(参数的位置)
   位置的算法是从index.php后的第一个值算起的  比如你要拿到jean这个值,segment的参数是4就可以拿到了,还有,传值的时候,你不应该把变量名也传过来,没这个必要的
  index.php/控制器/方法/要传的参数  拿值就是$name = $this->uri->segment(3);这样就可以了
多看帮助文档吧
 楼主| 发表于 2010-5-29 14:14:03 | 显示全部楼层
看了。我看文档了……
就是看了所不明白………………
 楼主| 发表于 2010-5-29 14:14:47 | 显示全部楼层
等等我试一试
 楼主| 发表于 2010-5-29 14:17:34 | 显示全部楼层
我来详细的说一下吧。
 楼主| 发表于 2010-5-29 14:19:53 | 显示全部楼层
比如
<a href='./index.php/user/login/name/jean'>Jean</a>
当我在页面点这个的时候 CI跳转到./index.php/user/login中。然后通过$name = $this->uri->segment(3);取得Jean。
这个时候测试一下:echo $name;
结果: Jean


对么?
 楼主| 发表于 2010-5-29 15:49:49 | 显示全部楼层
上面的 答案应该改成 $name = $this->uri->segment(2); 是  2 不是 3

好了,问题还有一个
UC里面登入的时候有个$auth = rawurlencode(uc_authcode("$username\t".time(), 'ENCODE'));的过程 其中uc_authcode是uc自己的方法。当我把这个值通过<a href>传的时候 。他最终会说:
The requested URL /video/index.php/user/showregister/activation/d49b5Sw6rbI6/iqeVfGkk/6kjxLY8kBLUBwUFpi0UaCpCZ8gOuYaLcba+Q was not found on this server.
红色字体为一个变量。仔细观察里面的有/ 这岂不乱套了!!!!正在解决中 有人看过有建议没
发表于 2010-5-29 21:30:19 | 显示全部楼层
URL 分段传参只适合传递简单内容,比如 ID 等,复杂内容建议用 GET 传参。
 楼主| 发表于 2010-5-30 00:39:49 | 显示全部楼层
回复 8# Hex


    只有这样了,我选择了get方法。没办法~~~~编码一下 就是了~
发表于 2010-6-1 01:34:51 | 显示全部楼层
你可以把斜杠替换成下划线,接收的时候再把下划线换回斜杠

本版积分规则