为来宾用户执行一个操作


Elgg - perform an action for a guest user

我需要在elgg中执行一个操作,例如保存客人用户(未注册/未登录)的调查结果,其中用户只获得具有数据形式的页面。我设法得到这个东西,但是,当我提交动作它显示错误

对不起,您不能在登出时执行此操作。

和重定向到登录页面。

如何解决这个问题由于

检查register_action,有一个带选项true/false的参数$public

如果您设置为true,则此操作可由未登录系统的人访问。

问题是,每个被调用的操作都由egg使用action-_gatekeeper()方法进行检查。

解决这个问题的最简单方法是不要将调查结果发送到定义为动作的脚本中,而是直接将表单提交到脚本中(将提交URL设置为www.your site.com/mod/yourPlugin/handleSurvey.php)

是的,这是真的,您可以设置action public,但之后保存结果在egg中,您必须覆盖访问,以便非登录用户可以将数据保存到数据库。

检查权限检查