php - 像或知乎这样的注册账号后不激活无法提问是如何实现的?
PHP中文网
PHP中文网 2017-04-10 16:06:19
0
7
458

是在用户表里加个字段,每次要提问时都查询一下么?

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(7)
刘奇

简单来说,是这样的。
你可以参考Leancloud的默认用户表,看下图,一个字段存邮箱地址(string),一个字段存邮箱是否验证过(bool)。
然后每次提问的时候就去查一下emailVerified字段是否为false。

いいねを押す +0
大家讲道理

在提问操作提交之后,先检测该用户的激活字段,True就允许,False就拦截

いいねを押す +0
Peter_Zhu

这就是很基本的权限验证啦,可能是一个bool,当然更加可能是一个整形或者整形中的某个位,猜测 seg 的权限等级用一个一个整形,权限级别可能划分为好多个段,可以参考这里:
http://segmentfault.com/repu?_ea=109887

いいねを押す +0
小葫芦

撰写一个权限控制类
在控制类里面扩展方法

いいねを押す +0
巴扎黑

用户状态:0刚注册成功 1已验证 2封号
只有用户状态为1的才可以正常提问

いいねを押す +0
左手右手慢动作

我猜测,很可能就是数据库中的一个字段,status 里面就固定未激活。已激活等等状态,根据状态有一定的权限,然后登录后能做某些事,未激活的一点击提问就提示去绑定邮箱激活吧,
看了楼下的答案,我想到了就是用户登录后会把用户信息存到session中而不是每次用到的时候去查询数据库

いいねを押す +0
黄舟

肯定是在数据库一个字段表示验证状态,可为整形值或布尔值。
至于读取这个值,估计是放在系统的缓存中直接读取,而不是每次都要重新查询。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート