我需要执行一项操作,例如在 elgg 中为来宾用户(未注册/未登录)保存调查结果,其中用户仅获得具有数据形式的页面。我设法得到了这个东西,但是,当我提交操作时,它显示错误
抱歉,您在注销时无法执行此操作。
并重定向到登录页面。
这个问题怎么解决 谢谢
我需要执行一项操作,例如在 elgg 中为来宾用户(未注册/未登录)保存调查结果,其中用户仅获得具有数据形式的页面。我设法得到了这个东西,但是,当我提交操作时,它显示错误
抱歉,您在注销时无法执行此操作。
并重定向到登录页面。
这个问题怎么解决 谢谢
检查 register_action ,有一个$public
带有选项的参数true/false
如果您将其设置true
为此操作,则未登录系统的人可以访问。
是的,确实如此,您可以将操作设置为公开,但之后要在 elgg 中保存结果,您必须覆盖访问权限,以便未登录的用户可以将数据保存到数据库。
检查权限检查
问题是调用的每个操作都由 elgg 使用 action-_gatekeeper() 方法进行检查。
解决此问题的最简单方法是不要将您的调查结果发送到定义为操作的脚本,而是让您的表单直接提交到您的脚本(让提交 URL 类似于 www.your site.com/mod /yourPlugin/handleSurvey.php )