Dedecms是现在比较常用的CMS,利用dedecms建站的朋友们,肯定会做一个提交表单,对于会技术的童鞋来说,做这样一个简单的表单,是很容易的事情dedecms的自定义表单非常的灵活,无论是用户留言、在线报名、信息收集统统都可以通过自定义表单完成。
织梦自带的自定义表单提交过后会自动跳转到网站首页,可还是有很多人希望提交过后,返回当前页面,或者返回是其他的页面,等等;我们会根据自己需要实现的功能不同,而做相应的修改;下面雨田SEOER来吐槽一下吧。
首先大家需要明白的是自定义表单的数据,是提交到dedecms自带的plug下的diy.php文件进行处理,大家打开一看一眼就能找到我们比较熟悉的标题提交成功提示的信息,也就是“$bkmsg = '发布成功,请等待管理员处理…';”,看到这里我想大家已经能明白怎么修改提交成功的信息了。
那么我们怎么去修改提交成功之后的跳转呢?
里面有这样一段代码:
if($dsql->executenonequery($query)) { $id = $dsql->GetLastID(); if($diy->public == 2) { //diy.php?action=view&diyid={$diy->diyid}&id=$id $goto = "diy.php?action=list&diyid={$diy->diyid}"; $bkmsg = '发布成功,现在转向表单列表页…'; } else { $goto = !empty($cfg_cmspath) ? $cfg_cmspath : '/'; $bkmsg = '发布成功,请等待管理员处理…'; } showmsg($bkmsg, $goto); }
这是diy.php自带的代码,我们需要在‘$bkmsg = '发布成功,请等待管理员处理…';’在这后面添加一段代码让他返回到当前页面,代码是“echo "<script>alert('提交成功!'); history.go(-1)</script>";”这样添加过后就可以了。然后替换掉网站原来的文件,就可以实现表单提交过后返回当前页面。最后的代码如下:
if($dsql->executenonequery($query)) { $id = $dsql->GetLastID(); if($diy->public == 2) { //diy.php?action=view&diyid={$diy->diyid}&id=$id $goto = "diy.php?action=list&diyid={$diy->diyid}"; $bkmsg = '发布成功,现在转向表单列表页…'; } else { $goto = !empty($cfg_cmspath) ? $cfg_cmspath : '/'; $bkmsg = '发布成功,请等待管理员处理…'; echo "<script>alert('提交成功!'); history.go(-1)</script>"; } showmsg($bkmsg, $goto); }
使用这样的代码就能实现提交表单过后,返回的是当前页面。