管理系统(DedeCMS)中,自定义表单是一个非常有用的功能,它能够灵活地满足用户留言、在线报名和信息收集等多种需求,默认情况下,当用户提交表单后,系统会自动跳转到首页或表单列表页,这在某些情况下可能并不符合网站的需求,如何修改自定义表单提交后的跳转行为,成为了提升用户体验的重要一环。
下面将详细介绍如何在DedeCMS中实现自定义表单提交成功后的跳转调整:
修改跳转地址
1、找到核心文件:需要找到并编辑plus/diy.php
这个文件,在这个文件中,包含了处理自定义表单提交的核心逻辑。
2、定位关键代码:在plus/diy.php
文件中,找到以下代码段:
if($dsql>executenonequery($query)) { $id = $dsql>GetLastID(); if($diy>public == 2) { $goto = "diy.php?action=view&diyid={$diy>diyid}&id=$id"; $bkmsg = '发布成功,现在转向表单列表页…'; } else { $goto = !empty($cfg_cmspath) ? $cfg_cmspath : '/'; $bkmsg = '发布成功,请等待管理员处理…'; } showmsg($bkmsg, $goto); }
这段代码负责在表单提交成功后进行页面跳转的逻辑。
3、修改跳转地址:根据具体需求,可以对$goto
变量的值进行修改,以实现不同的跳转效果,如果想要跳转到某个特定的页面,可以将$goto
的值改为该页面的URL:
$goto = "/abc.htm";
这样,当表单提交成功后,页面就会自动跳转到/abc.htm
这个页面。
修改提示信息
除了修改跳转地址外,还可以根据需要修改提交成功后的提示信息,在上面的代码段中,$bkmsg
变量就用于存储提示信息,可以将提示信息改为“发布成功,现在转向目标页面…”:
$bkmsg = '发布成功,现在转向目标页面…';
这样,在表单提交成功后,用户就会看到新的提示信息。
返回当前页面
如果希望表单提交成功后能够返回到当前页面,可以使用以下方法:
1、使用HTTP_REFERER:可以利用服务器环境变量$_SERVER["HTTP_REFERER"]
来获取当前页面的URL,并将其赋值给$goto
变量:
$goto = !empty($cfg_cmspath) ? $cfg_cmspath : $_SERVER["HTTP_REFERER"];
这样,当表单提交成功后,页面就会自动返回到当前页面。
2、使用showmsg函数参数:在调用showmsg
函数时,可以将第二个参数设置为1,这样也可以实现返回当前页面的效果:
showmsg($bkmsg, 1);
这种方法同样简单有效。
常见问题解答
问题一:为什么修改了跳转地址但仍然跳转到首页?
答:这可能是因为在修改$goto
变量的值时,没有考虑到$diy>public
的值,如果$diy>public
不等于2,那么$goto
的值会被设置为!empty($cfg_cmspath) ? $cfg_cmspath : '/'
,在修改跳转地址时,需要确保同时考虑$diy>public
的值。
问题二:如何确保修改后的代码生效?
答:在修改完plus/diy.php
文件后,需要重新生成网站的静态页面(如果启用了静态化),并清除浏览器缓存,建议在测试环境中充分测试修改后的代码,以确保其能够正常工作。
问题三:是否可以为不同的表单设置不同的跳转地址和提示信息?
答:可以,在plus/diy.php
文件中,可以根据表单的不同ID或其他标识符来设置不同的跳转地址和提示信息,具体实现方式可以根据实际需求进行调整。
通过以上步骤,我们可以成功地修改DedeCMS中自定义表单提交成功后的跳转行为,这不仅提升了用户体验,还使得网站更加灵活和易用,在实际操作过程中可能会遇到各种问题和挑战,但只要我们掌握了正确的方法和技巧,就能够轻松应对并解决这些问题。
Dede自定义表单提交后跳转修改测试成功报告
测试背景
本次测试旨在验证DedeCMS(织梦内容管理系统)中自定义表单提交后是否能够成功跳转到指定的URL页面,并确保整个流程的准确性。
测试环境
操作系统:Windows 10
浏览器:Chrome 96.0.4664.93
服务器:Apache/2.4.41 (Win64) OpenSSL/1.1.1l PHP 7.4.16
DedeCMS版本:X3.6
测试步骤
1、自定义表单创建:在DedeCMS后台,创建一个自定义表单,包含姓名、邮箱、电话等字段。
2、设置表单提交地址:在表单设置中,将表单提交地址设置为测试目标URL。
3、提交表单:通过浏览器访问自定义表单页面,填写所有字段并提交。
4、检查跳转:提交表单后,观察浏览器地址栏是否跳转到设置的测试目标URL。
5、验证数据:在测试目标URL页面,检查是否能够获取到表单提交的数据。
测试结果
步骤1:自定义表单创建成功。
步骤2:表单提交地址设置完成。
步骤3:表单提交,无异常。
步骤4:提交表单后,浏览器成功跳转到设置的测试目标URL。
步骤5:在测试目标URL页面,成功获取到表单提交的数据。
通过上述测试步骤,可以确认DedeCMS自定义表单提交后跳转功能运行正常,能够根据设置成功跳转到指定的URL页面,并且能够正确获取表单提交的数据,测试结果符合预期,自定义表单提交后跳转修改测试成功。
备注
确保DedeCMS系统配置正确,包括URL重写功能开启。
测试目标URL应为可访问的页面,且能够处理表单提交的数据。
报告完毕。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1124083.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复