Hex 发表于 2010-8-9 18:31:51

回复 10# killbug


    redirect 必须放到所有视图输出之前,也就是 load->view 之前。

killbug 发表于 2010-8-10 10:47:54

回复 11# Hex


    redirect 我是放在所有输出的前面调用的,因为我是在判断权限不符时直接跳转到登录页,只有权限通过了,才有可能处理后继界面。(结果一样)

另外一个有点相关的问题:有时需要显示一个提示的视图然后就直接退出了,此时用了load来装载视图,接着用die退出,但它却完全没有输出了。估计是CI的对视图的管理机制是先缓存,然后控制器结束了它才一块输出(我没细看CI底层代码)。不知道想即时输出一个视图然后立刻退出应该用哪个CI函数。当时试过CI中一个刷新缓存的函数,没一点效果。

Hex 发表于 2010-8-10 10:52:03

回复 12# killbug


    CI 视图使用了 output buffer,关于 buffer 你可以看看 PHP 手册,或者 google 一下。
这个就造成了所有视图一起输出的结果。貌似不能改变这种机制,除非你自己修改 CI 源码。

killbug 发表于 2010-8-10 12:06:09

首先衷心谢谢HEX的热心回答!
好象我提问的所有那些问题,暂时还没有其他高手支招,好象人气还不够。
我的问题仍在郁闷中...

Hex 发表于 2010-8-10 13:35:52

回复 14# killbug


    我建议你使用调试工具跟踪一下,设置断点,肯定是能得到满意结果的。

killbug 发表于 2010-8-10 14:33:12

回复 15# Hex


    PHP的调试工具还没接触过,平常都是直接用输出结果来调试程序的。

killbug 发表于 2010-8-10 16:15:27

问题解决了,是漏了引用辅助模块 url 。

不过有一点想不明白,为什么打开了PHP的显示出错信息的开关,为什么调用 redirect 不存在时,CI也不报错?

再次感谢HEX的热情帮助!

Hex 发表于 2010-8-10 16:21:50

回复 17# killbug


    CI 很多地方使用了 @,所以不报错。
页: 1 [2]
查看完整版本: 【求助】redirect失效