如何使用PHP和Redis实现微博注册与登录功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计899个文字,预计阅读时间需要4分钟。
本文实例讲述了如何使用Redis和PHP实现微博注册与登录功能。以下内容供大家参考:
(一)微博功能概述
1.微博注册
2.微博登录
3.微博发布
4.添加微博好友(群组)
5.微博推荐
(二)微博注册与登录功能实现
1.微博注册
- 用户填写用户名、密码、邮箱等信息 - 验证邮箱 - 将用户信息存储到Redis数据库中2. 微博登录 - 用户输入用户名和密码 - 验证用户名和密码 - 如果验证成功,将用户信息存储到Redis数据库中,并返回登录成功信息
3. 微博发布 - 用户输入微博内容 - 将微博内容存储到Redis数据库中
4. 添加微博好友(群组) - 用户选择好友 - 将好友关系存储到Redis数据库中
5. 微博推荐 - 根据用户喜好和关注关系,推荐相关微博内容
本文实例讲述了redis+php实现微博注册与登录功能。分享给大家供大家参考,具体如下:
(一)、微博功能概况
微博用户账号注册
微博用户登录
微博发布
添加微博好友(粉丝)
微博推送
微博冷数据写入mysql数据库
(二)、redis数据结构设计
这节分享微博用户注册与登录:
我们完全采用redis作为数据库来实现注册于登录
先来看一下redis数据结构的设计:
注册用户表:user
set global:userid
set user:userid:1:username zhangshan
set user:userid:1:password 1212121212
set user:username:zhangshan:userid 1
发布微博表:post
set post:postid:3:time timestamp
set post:postid:3:userid 5
set post:postid:3:content 测试发布哈哈哈哈
incr global:postid
set post:postid:$postid
(三)、核心代码说明
注册代码:
include("function.php"); //用户表单提交数据接收 $username = I('username'); $password = I('password'); $pwd = I('password2'); if(!$username || !$password || !$pwd){ exit('用户名密码不能够为空~'); } if($password!=$pwd){ exit('两次密码输入不一致哦~'); } //连接redis调用公用方法 $r = redis_connect(); //判断用户是否注册过 $info = $r->get("user:username:".$username.":userid"); if($info){ exit('该用户已经注册过'); } //将用户数据存入redis中 $userid = $r->incr('global:userid'); $r->set("user:userid:".$userid.":username",$username); $r->set("user:userid:".$userid.":password",$password); $r->set("user:username:".$username.":userid",$userid); header("location:home.php");
登录代码:
include("function.php"); //如果用户已经登录调整到微博列表页面 if(isLogin()!=false){ header("location:home.php"); exit; } $username = I('username'); $password = I('password'); if(!$username || !$password){ exit('数据输入不完整'); } $r = redis_connect(); $userid = $r->get("user:username:".$username.":userid"); if(!$userid){ exit('用户不存在'); } $password = $r->get("user:userid:".$userid."password:".$password); if(!password){ exit('密码输入错误'); } /**设置cookie登录成功**/ setcookie('username',$username); setcookie('userid',$userid); header("location:home.php");
function文件代码:
/* *@desc 连接redis操作方法 */ function redis_connect(){ $redis = new Redis(); $redis->connect('127.0.0.1',6379); return $redis; } /* *@desc 接收数据方法 **/ function I($post){ if(empty($post)){ return false; } return trim($_POST[$post]); } /** *@desc 判断是否登录 ***/ function isLogin(){ $username = $_COOKIE['username']; $userid = $_COOKIE['userid']; if(!$username || $userid){ return false; } return array('userid'=>$userid,'username'=>$username); }
说明:代码写的可能比较简单,这里只是阐述实现原理
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+redis数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
本文共计899个文字,预计阅读时间需要4分钟。
本文实例讲述了如何使用Redis和PHP实现微博注册与登录功能。以下内容供大家参考:
(一)微博功能概述
1.微博注册
2.微博登录
3.微博发布
4.添加微博好友(群组)
5.微博推荐
(二)微博注册与登录功能实现
1.微博注册
- 用户填写用户名、密码、邮箱等信息 - 验证邮箱 - 将用户信息存储到Redis数据库中2. 微博登录 - 用户输入用户名和密码 - 验证用户名和密码 - 如果验证成功,将用户信息存储到Redis数据库中,并返回登录成功信息
3. 微博发布 - 用户输入微博内容 - 将微博内容存储到Redis数据库中
4. 添加微博好友(群组) - 用户选择好友 - 将好友关系存储到Redis数据库中
5. 微博推荐 - 根据用户喜好和关注关系,推荐相关微博内容
本文实例讲述了redis+php实现微博注册与登录功能。分享给大家供大家参考,具体如下:
(一)、微博功能概况
微博用户账号注册
微博用户登录
微博发布
添加微博好友(粉丝)
微博推送
微博冷数据写入mysql数据库
(二)、redis数据结构设计
这节分享微博用户注册与登录:
我们完全采用redis作为数据库来实现注册于登录
先来看一下redis数据结构的设计:
注册用户表:user
set global:userid
set user:userid:1:username zhangshan
set user:userid:1:password 1212121212
set user:username:zhangshan:userid 1
发布微博表:post
set post:postid:3:time timestamp
set post:postid:3:userid 5
set post:postid:3:content 测试发布哈哈哈哈
incr global:postid
set post:postid:$postid
(三)、核心代码说明
注册代码:
include("function.php"); //用户表单提交数据接收 $username = I('username'); $password = I('password'); $pwd = I('password2'); if(!$username || !$password || !$pwd){ exit('用户名密码不能够为空~'); } if($password!=$pwd){ exit('两次密码输入不一致哦~'); } //连接redis调用公用方法 $r = redis_connect(); //判断用户是否注册过 $info = $r->get("user:username:".$username.":userid"); if($info){ exit('该用户已经注册过'); } //将用户数据存入redis中 $userid = $r->incr('global:userid'); $r->set("user:userid:".$userid.":username",$username); $r->set("user:userid:".$userid.":password",$password); $r->set("user:username:".$username.":userid",$userid); header("location:home.php");
登录代码:
include("function.php"); //如果用户已经登录调整到微博列表页面 if(isLogin()!=false){ header("location:home.php"); exit; } $username = I('username'); $password = I('password'); if(!$username || !$password){ exit('数据输入不完整'); } $r = redis_connect(); $userid = $r->get("user:username:".$username.":userid"); if(!$userid){ exit('用户不存在'); } $password = $r->get("user:userid:".$userid."password:".$password); if(!password){ exit('密码输入错误'); } /**设置cookie登录成功**/ setcookie('username',$username); setcookie('userid',$userid); header("location:home.php");
function文件代码:
/* *@desc 连接redis操作方法 */ function redis_connect(){ $redis = new Redis(); $redis->connect('127.0.0.1',6379); return $redis; } /* *@desc 接收数据方法 **/ function I($post){ if(empty($post)){ return false; } return trim($_POST[$post]); } /** *@desc 判断是否登录 ***/ function isLogin(){ $username = $_COOKIE['username']; $userid = $_COOKIE['userid']; if(!$username || $userid){ return false; } return array('userid'=>$userid,'username'=>$username); }
说明:代码写的可能比较简单,这里只是阐述实现原理
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+redis数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。

