·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

手机版本修改密码后,再次登录会返回到修改密码页面,但是点击返回按钮又退出了登录

214 2
发表于 2021-10-19 18:45:00 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
全部手机触屏版都是这样按照电脑的退出方式,退出后返回退出前页面,但是手机模板和电脑不同,一般修改密码页面也就是顶部导航只有一个返回按钮,只要点击返回就退出登录。现在官方这个模板也是这样。修改完密码再次登录,进入了退出前的修改密码页面,这样再次登录后是进入密码修改页面,没其他办法去进入首页,点击返回,又退出登录了。有没办法修改密码后,再次登录可以指向其页面。
我要说一句 收起回复

评论2

Discuz智能体Lv.8 发表于 2025-3-20 05:14:07 | 查看全部
根据您描述的问题,结合Discuz核心机制和移动端开发规范,建议通过以下两种方式解决:

**一、修改跳转逻辑(推荐方案)**

1. 找到手机模板的密码修改处理文件:
  1. source/module/member/member_getpasswd.php
复制代码


2. 在密码修改成功的处理逻辑后(约第308行)修改跳转地址:
  1. // 原代码
  2. showmessage('getpasswd_succeed', dreferer(), array(), array('alert' => 'right'));

  3. // 修改为强制跳转首页
  4. showmessage('getpasswd_succeed', 'forum.php?mobile=2', array(), array('alert' => 'right'));
复制代码


**二、前端模板调整(备选方案)**

1. 修改模板文件:
  1. template/default/touch/member/getpasswd.htm
复制代码


2. 在表单提交处增加隐藏字段:
  1. <input type="hidden" name="referer" value="forum.php?mobile=2">
复制代码


**三、会话保持优化**

在修改密码成功后,建议在服务端强制刷新登录状态:
  1. // 修改密码成功后添加
  2. require_once libfile('function/member');
  3. clearcookies();
  4. setloginstatus(array('uid' => $member['uid'], 'username' => $member['username']), 2592000);
复制代码


**四、返回按钮逻辑修正**

找到导航栏模板文件:
  1. template/default/touch/common/header.htm
复制代码


修改返回按钮的链接生成逻辑:
  1. // 原代码
  2. history.back();

  3. // 修改为
  4. window.location.href = "forum.php?mobile=2";
复制代码


以上修改需根据实际模板路径进行调整,建议修改前做好文件备份。若使用第三方手机模板,需要检查模板目录中的对应文件路径。修改完成后请更新模板缓存,并在多浏览器环境下测试跳转流程。

这种方案既保持了Discuz核心机制,又通过精准的跳转控制实现了预期的用户体验。实际开发中我们通常会结合服务端跳转和前端JS控制来实现更稳定的跳转逻辑。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-20 23:51:09 | 查看全部
这个问题是由于Discuz手机触屏版的页面跳转逻辑导致的。在修改密码后,系统默认会返回到修改密码的页面,而手机触屏版的导航设计较为简单,通常只有一个返回按钮,点击返回按钮会触发退出登录的操作。

要解决这个问题,你可以通过修改代码来实现修改密码后跳转到指定页面(如首页)的功能。以下是具体的解决方案:

### 1. 修改密码后的跳转逻辑
你可以在修改密码成功后,手动设置跳转的URL,使其跳转到首页或其他指定页面。

#### 修改文件:`source/module/member/member_logging.php`
找到修改密码成功的代码部分,通常在修改密码成功后会有类似以下的代码:

  1. showmessage('profile_passwd_succeed', dreferer(), array(), array('showmsg' => true, 'locationtime' => 3));
复制代码


你可以将`dreferer()`替换为你想要跳转的URL,例如跳转到首页:

  1. showmessage('profile_passwd_succeed', 'forum.php', array(), array('showmsg' => true, 'locationtime' => 3));
复制代码


这样,修改密码成功后,用户将被重定向到首页。

### 2. 修改手机触屏版的返回按钮逻辑
如果你希望在手机触屏版中,点击返回按钮时不会退出登录,而是返回到指定页面,你可以修改手机模板中的相关代码。

#### 修改文件:`template/default/touch/common/header.htm`
找到返回按钮的代码部分,通常在头部模板中会有类似以下的代码:

  1. <a href="javascript:history.back();" class="back">返回</a>
复制代码


你可以将`history.back()`替换为指定的URL,例如返回到首页:

  1. <a href="forum.php" class="back">返回</a>
复制代码


这样,点击返回按钮时,用户将被重定向到首页,而不会退出登录。

### 3. 使用插件或扩展功能
如果你不想手动修改代码,也可以考虑使用一些插件或扩展功能来实现这个需求。你可以在DZ插件网(https://www.dz-x.net/)上搜索相关的插件,看看是否有现成的解决方案。

### 总结
通过修改代码或使用插件,你可以实现修改密码后跳转到指定页面的功能,避免用户在手机触屏版中陷入循环登录的问题。如果你对代码修改不熟悉,建议在修改前备份相关文件,并在测试环境中进行测试,确保修改不会影响其他功能。

如果你有其他问题或需要进一步的帮助,请随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

最新热评 加载中...
AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:216.73.216.10,GMT+8, 2025-5-31 09:00 , Processed in 0.440200 second(s), 76 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表