CI中用户注册后显示“注册成功”并自动重定向的一种方法
RT。今天花了三个小时从零开始做好了用户注册的前台+后台,想加一个“注册成功”的提示又花了一小时,在此分享此次设计思路:
做过注册的应该都知道,一般会加一个redirect函数跳转到首页,但是提示“注册成功”却又无法实现了,我搞了很久,一次想到如下方法:
直接加一个echo//结果失败
跳转之后用js判断来路url//不兼容多地址网站且失败
跳转之后用php函数判断来路url//同理,失败,还不如js的好设计
用ajax校验、提交表单,延迟跳转//难度太大,需要重构,没有尝试
最后想到并且成功实施了一个方案:
跳转到一个index.php/signupsc 控制器(取sign up success之意),它载入的view和之前的默认页面(即首页)基本一致,在footer之前多载入一个view,也可以命名为signupsc,用来存放显示“注册成功”的js代码,成功实现。至于重定向,就不用我说了吧。
这样在用户体验上趋于完美。什么?你说性能?绝大多数网站在遇到性能问题之前就已经死掉了,等遇到性能问题了,那时候性能就不是问题了。 假设:
1.注册提交地址为:http://reg.xxx.com/reg
2.注册成功提示页面为:http://reg.xxx.com/success
http://codeigniter.org.cn/forums/data/attachment/album/201805/12/094844vmdgqc1lmfcecjwf.png
form表单提交方式:
注册成功、就可以header到http://reg.xxx.com/success就可以了。
当然注册成功可以是直接登录,也可以是跳转到登录页,让用户重新登录
①如果是直接登录,在success页面的php逻辑里你可以获取注册前的地址,如果没有则这个地址默认为首页
在success页面JS 延迟3秒自动跳转 外加 用户可以点直接跳转
AJAX方式:
注册成功、返回成功标识,js判断若注册成功,则直接location到http://reg.xxx.com/success,然后接着上面的①
我也刚学CI几天,如果用redirect则没提示,不友好,如果用载入视图,因为URL还是原来的,页面还是显示原来的URL内容,不友好。我的方法是:
自己写个利用Header定时刷新跳转页面的公共函数,如msg_helper,放在APP/HELPERS文件夹,在控制器构造函数里载入此函数,就可以用了。 hdok 发表于 2018-6-10 15:18
可以说说,注册页面的用户名处,要怎么写才能可以只能输入中文英文数字,不要符号! ...
这个可以通过正则表达式来限制,严格一点的话包括两个方面,一个是前端js验证+后端php验证,否则需要其中一个就好了 为啥不做一个message 提示 在首页预留 $message使用session或者cookie传递message~ 跳转到首页直接显示.
类似参考 joomla 等. IvanCI 发表于 2013-4-15 13:51 static/image/common/back.gif
为啥不做一个message 提示 在首页预留 $message使用session或者cookie传递message~ 跳转到首页直接显示.
...
没用过那个啊。。。 求分享你的用户注册登录模块{:soso_e113:} 个人觉得有点自找麻烦.真正的用户体验不是应该注册成功,直接跳转首页,并且已经登录完成么?
wshm520 发表于 2013-5-9 10:56 static/image/common/back.gif
个人觉得有点自找麻烦.真正的用户体验不是应该注册成功,直接跳转首页,并且已经登录完成么?
...
你可以再想想。 http://codeigniter.org.cn/user_guide/libraries/sessions.html
使用 Flashdata 即可实现预期效果。 乌有 发表于 2013-5-9 18:11 static/image/common/back.gif
http://codeigniter.org.cn/user_guide/libraries/sessions.html
使用 Flashdata 即可实现预期效果。 ...
谢谢~
后来我遇到了一个更加蛋疼的信息传递问题,用了这个方法。。。
页:
[1]
2