CI版本1.7.3发现一个网址传参BUG
我通过网址传两个参数,第一个参数用ci的encode加密,第二个参数明码。例如下面网址http://xx.com/project/edit/ADA=/18
结果,我在控制器里无法正常取到第二个参数。
难道是CI的bug?
请高手指点。 请贴相关代码。 想看下代码 view层:
<td align="center"><a href="/project/edit/<?=$this->encrypt->encode($row->projid)?>/18">编辑</a></td>
controll层:
function edit($projid, $typeid)
{
$tid = $typeid;
//此处$tid的值应该为18,但实际却不是。
//我经过测试发现若加密后的projid是以“=”结尾的,例如“ADA=”,就会出现无法正确取值的情况。
} 加密后有时会混合一些符号,你可以用urlencode转换一下编码 回复 5# tiana
对$this->encrypt->encode($row->projid)再进行urlencode是个解决方案,但encode两次,decode两次。
不知有无更简单的解决方法? 封装成一个函数或方法,一处修改,重复利用。 $this->encrypt->encode()
这不是 urlencode,所以这里会出现“/”,所以你那里就出错了。
建议这样的使用 GET 传参,参考 google 的 URL。
页:
[1]