我希望我的CI控制器在每次执行完毕后为下一页加载保存flashdata。以下是我尝试过的内容:
使用post_controller
挂钩:
最初我尝试使用post_controller
挂钩,但如果调用redirect()
立即将用户发送到下一页,则不会被触发。
使用控制器destruct()
方法:
然后我尝试使用控制器的destruct()
方法调用会话set_flashdata()
方法,但这不起作用,因为它看起来好像数据库连接已经由于该驱动程序类的is_object($this->conn_id)
方法中的escape_str()
测试失败,因此报废了。
如何确保在完成控制器操作后始终执行对set_flashdata()
的调用?
答案 0 :(得分:1)
我不知道我的回答多少适合你的问题。
如果使用post_controller
挂钩,则在重定向时不起作用。
即使destruct()
也不适用于相同的情况。
使用constructor
和destructor
成像c ++程序,中间有一个退出。当流程中断时,destructor
将不会被调用。
所以要摆脱这个,你有以下选择
set_flashdata()
。pre_controller
挂钩并致电set_flashdata()
。根据网址获取元素,您可以设置set_flashdata()
。这意味着您需要在网址额外。