在我创建的Yii应用程序中,我有一个搜索功能。在此任何用户(经过身份验证和访客)都可以看到搜索框。但是当我点击搜索按钮时,只有登录用户才能看到结果。否则它将被重定向到登录屏幕。一旦他们登录,他们就可以看到结果。
所以我写了像这样的accessrule
return array(
array('allow',
'actions'=>array('search'),
'users'=>array('@')
),
我怀疑的是,当它进入搜索操作时,有2个参数(POST)(我的搜索关键字)。当它成功登录并在我成功登录同一行动后回来如何才能获得这些关键字? 除了使用会话之外还有任何直接的yii方法吗?
请帮忙
答案 0 :(得分:1)
首先,我建议您将搜索表单设为使用GET
,而不是POST
,当然这取决于用例和要求,但搜索表单应使用GET
来制作更实用的无障碍。这也应该解决您的问题,因为Yii将在登录后返回搜索结果URL(取决于代码,可能并不总是有效)。
如果你必须使用POST
,那么我能看到的唯一方法是制作一个过滤方法,将关键字保存到会话中。
答案 1 :(得分:0)
我会这样做的: