DEDECMS自定义表单提交后跳转地址的修改方法
在DEDECMS中,当用户提交一个自定义表单后,系统会默认跳转到首页,有时我们可能希望表单提交后跳转到一个特定的页面,例如表单列表页或当前页面,为了实现这一目标,我们需要修改plus/diy.php
文件中的相关代码。
修改步骤
1、找到并打开文件:
通过FTP工具或直接在服务器上找到并打开plus/diy.php
文件。
2、定位关键代码:
在plus/diy.php
文件中,搜索以下代码段:
if ($dsql>ExecuteNoneQuery($query)) { $id = $dsql>GetLastID(); if ($diy>public == 2) { $goto = "diy.php?action=list&diyid={$diy>diyid}"; $bkmsg = '发布成功,现在转向表单列表页…'; } else { $goto = !empty($cfg_cmspath) ? $cfg_cmspath : '/'; $bkmsg = '发布成功,请等待管理员处理…'; } showmsg($bkmsg, $goto); }
3、修改跳转地址:
将上述代码中的$goto
变量的值修改为你想要的跳转地址,如果你想让表单提交后跳转到一个名为abc.htm
的页面,你可以将代码修改为:
if ($dsql>ExecuteNoneQuery($query)) { $id = $dsql>GetLastID(); if ($diy>public == 2) { $goto = "/abc.htm"; $bkmsg = '发布成功,现在转向表单列表页…'; } else { $goto = !empty($cfg_cmspath) ? $cfg_cmspath : '/'; $bkmsg = '发布成功,请等待管理员处理…'; } showmsg($bkmsg, $goto); }
如果你希望表单提交后跳转到当前页面,可以将$goto
设置为当前页面的URL。
if ($dsql>ExecuteNoneQuery($query)) { $id = $dsql>GetLastID(); if ($diy>public == 2) { $goto = "diy.php?action=list&diyid={$diy>diyid}"; $bkmsg = '发布成功,现在转向表单列表页…'; } else { $goto = $_SERVER['REQUEST_URI']; // 当前页面的URL $bkmsg = '发布成功,请等待管理员处理…'; } showmsg($bkmsg, $goto); }
4、保存并上传文件:
完成代码修改后,保存plus/diy.php
文件并将其上传回服务器。
5、测试表单:
返回网站前台并测试自定义表单,确保表单提交后能够正确跳转到你设置的页面。
注意事项
在修改代码前,请务必备份原始的plus/diy.php
文件,以防万一出现问题时可以还原。
确保你有足够的权限来修改和上传服务器上的文件。
如果你不熟悉PHP编程,建议在进行此类操作前咨询专业人士或寻求帮助。
FAQs
1、Q: 如果我不想跳转到特定页面,只想关闭当前标签页怎么办?
A: 在这种情况下,你可以将$goto
设置为一个空字符串(""
),这样表单提交后将不会发生任何跳转,你可能还需要调整$bkmsg
以反映这一变化。
2、Q: 我按照上述步骤修改了代码,但表单提交后仍然跳转到首页,这是怎么回事?
A: 这可能是由于缓存问题导致的,请尝试清除浏览器缓存或使用隐私模式重新加载页面,如果问题仍然存在,请检查你的服务器配置是否正确应用了你的更改,确保你修改的是plus/diy.php
文件中的正确位置的代码。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1220176.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复