在使用Dedecms CMS程序创建自定义表单提交页面时,您可能会遇到一个问题:数据提交后,程序默认返回首页。然而,许多用户希望提交后能够返回到原来的提交页面,而不是跳转到首页。本文将详细介绍如何通过修改代码实现这一需求。
### 第一步:找到并下载相关文件 首先,您需要通过FTP工具连接到您的网站服务器,并按照路径找到/plus/diy.php文件。
然后,将该文件下载到您的电脑本地进行编辑。
### 第二步:打开PHP文件 使用Dreamweaver(简称DW)或者Editplus等文本编辑器打开刚才下载的diy.php文件。
### 第三步:定位原始代码 接下来,您需要在文件中找到以下代码段:

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);
}
    

### 第四步:修改代码 在上述代码段中,找到以下行:
$bkmsg = '发布成功,请等待管理员处理…';
在其后面添加以下代码:

echo "";
    
这行代码的作用是,在用户提交表单成功后,弹出一个提示框显示“提交成功!”,然后通过JavaScript的history.go(-1)方法返回到上一页。
### 第五步:保存并上传文件 完成上述修改后,保存文件并重新上传至服务器的/plus/目录下,覆盖原有的diy.php文件。
### 最终效果 修改后的代码如下所示:

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 "";
    }
    showmsg($bkmsg, $goto);
}
    
通过以上步骤,您可以确保用户在提交表单后不会被重定向到首页,而是返回到之前的提交页面。这种方法不仅提升了用户体验,还让整个流程更加流畅和合理。