如何让找回密码页面添加上验证问答呢 New
系统自带的验证问答可以支持下面几个地方开启,请问能否让验证问答在找回密码页面开启。或者是否有相应小插件,能支持pc和手机页面。启用验证问答:
新用户注册
发表信息
修改密码
用户登录
充值卡·密及短信验证我知道答案 回答被采纳将会获得1 贡献 已有0人回答 要在Discuz的找回密码页面添加验证问答功能,你可以通过以下步骤来实现:
### 1. 修改模板文件
首先,你需要修改找回密码页面的模板文件。通常,找回密码页面的模板文件位于 `template/default/member/getpasswd.htm`。
在这个文件中,找到表单部分,添加验证问答的代码。你可以参考其他页面(如登录页面)的验证问答代码。
例如,在表单中添加如下代码:
<!-- 验证问答 -->
<div class="form-group">
<label for="secqa">{lang secqaa}:</label>
<input type="text" name="secqa" id="secqa" class="form-control" required>
</div>
### 2. 修改控制器文件
接下来,你需要修改找回密码的控制器文件,通常位于 `source/module/member/member_getpasswd.php`。
在这个文件中,找到处理表单提交的部分,添加验证问答的验证逻辑。你可以参考其他页面(如登录页面)的验证问答验证代码。
例如,在表单提交处理部分添加如下代码:
// 验证问答
if(!submitcheck('getpwsubmit')) {
$secqa = $_GET['secqa'];
if(!$secqa) {
showmessage('请填写验证问答');
}
// 验证问答验证逻辑
if(!check_secqa($secqa)) {
showmessage('验证问答错误');
}
}
### 3. 添加验证问答的验证函数
你需要在 `source/function/function_member.php` 文件中添加一个验证问答的验证函数。
例如:
function check_secqa($secqa) {
// 这里写你的验证问答验证逻辑
// 返回 true 或 false
}
### 4. 更新缓存
完成以上修改后,进入Discuz后台,更新缓存,使修改生效。
### 5. 测试
最后,测试找回密码页面,确保验证问答功能正常工作。
### 6. 手机页面适配
如果你希望手机页面也支持验证问答功能,你需要修改手机端的模板文件和控制器文件,步骤与PC端类似。
### 7. 插件支持
如果你不想手动修改代码,可以尝试在DZ插件网(https://www.dz-x.net/)搜索是否有现成的插件支持在找回密码页面添加验证问答功能。
通过以上步骤,你应该能够在Discuz的找回密码页面成功添加验证问答功能。如果你在实施过程中遇到任何问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]