Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

后台表单函数showformheader()不能使用get方式提交

[复制链接]
lifephp 发表于 2012-6-26 10:58:58 | 显示全部楼层 |阅读模式
本人刚接触Discuz不久, 刚学习写插件, 遇到一个问题, 后台表单函数showformheader()不能使用get方式提交, 比如
  1. 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末尾了.





m.king 发表于 2012-6-26 15:35:22 | 显示全部楼层
经过我们核查确认,该问题不是bug !
本来form表单使用get方法的时候action就不能有参数。

感谢你的反馈!
回复

使用道具 举报

 楼主| lifephp 发表于 2012-6-26 23:26:43 | 显示全部楼层
m.king 发表于 2012-6-26 15:35
经过我们核查确认,该问题不是bug !
本来form表单使用get方法的时候action就不能有参数。

即使不是bug, 但showformheader()的get方式也是毫无用处啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-2-25 19:27 , Processed in 0.029338 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表