字段设计:
#设置登录帐号:
set user:1:account zhangsan
set user:2:account lisi
#设置用户名:
set user:1:name 张三
set user:2:name 李四
#设置email:
set user:1:email zhangsan@test.test
set user:2:email lisi@test.test
#设置密码:
set user:1:passwd 123456
set user:2:passwd 666666
#为了能根据唯一的帐号、唯一的邮箱找到具体的人(包括姓名密码等)再设置:
set zhangsan:uid 1
set lisi:uid 2
set zhangsan@test.test:uid 1
set lisi@test.test:uid 2
每注册一个用户将global:uid加1
incr global:uid
php代码示例:
login.php
<?php //session存到redis。如果php.ini中没有配置,可以在php代码中配置: ini_set('session.save_handler', 'redis'); ini_set('session.save_path', 'tcp://127.0.0.1:6379'); session_start(); //已经登录则跳转到首页 if($_SESSION['uid']){ echo 'hh'; header('Location:./index.php'); } if(!$_POST['account'] || !$_POST['passwd']){ die('请完整输入帐号密码'); } //连接redis $redis = new Redis(); $redis->connect('127.0.0.1',6379); $uid = $redis->get($_POST['account'].':uid'); $passwd = $redis->get('user:'.$uid.':passwd'); if(!$uid || $passwd!=$_POST['passwd']){ die('帐号或密码错误'); }else{ echo '登录成功'; } $_SESSION['uid']=$uid;
注意:可以在php.ini中配置session存放redis
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
register.php
<?php if(!$_POST['account'] || !$_POST['passwd'] || !$_POST['passwd2']){ die('请完整输入注册信息'); } if($_POST['passwd'] != $_POST['passwd2']){ die('两次密码输入不一致'); } if(strlen($_POST['passwd'])<6){ die('密码不能小于6位'); } //连接redis数据库 $redis = new Redis(); $redis->connect('127.0.0.1',6379); //查看用户名是否已被注册 if($redis->get($_POST['account'].':uid')){ die('该帐号已被注册'); } //每次注册一个用户将global:uid增加1 $uid = $redis->incr('global:uid'); $redis->set('user:'.$uid.':account',$_POST['account']); $redis->set('user:'.$uid.':passwd',$_POST['passwd']); $redis->set($_POST['account'].':uid',$uid); ~
注意:由于cookie存在本地,所以要加点盐(salt)。退出的时候要记得将cookie消除,还有redis中存的session也释放掉。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。