本人刚接触Discuz不久, 刚学习写插件, 遇到一个问题, 后台表单函数showformheader()不能使用get方式提交, 比如- showformheader('plugins&operation=config&identifier=plugin_name&pmod=admincp&op=searchinfo', '', '', 'get');
复制代码 通过这行代码生成的是以get方式提交的form, 点击提交后会转到后台管理首页.
原因:
Discuz!要得到要执行的模块是要得到$_GET['action']的值, 因为是GET方式提交, 所以$_GET['action']为空, 所以会转到首页.
那么showformheader()只能用post了, 第四$method参数没用!
如果想要以get方式提交数据怎么办呢?
解决方法: 提供一个思路:
修改showformheader()源码, 添加<input type="hidden" name="action" value="plugins" /><input type="hidden" name="identifiler" value="plugin_name" />之类的, 这样这些原本URL的查询条件转化到表单中了, 这样提交表单就会将其添加到URL末尾了.
|