您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關redis+php怎么實現微博注冊與登錄功能,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
本文實例講述了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); }
說明:代碼寫的可能比較簡單,這里只是闡述實現原理
關于“redis+php怎么實現微博注冊與登錄功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。