91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

redis+php怎么實現微博注冊與登錄功能

發布時間:2021-06-03 11:01:07 來源:億速云 閱讀:151 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關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怎么實現微博注冊與登錄功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丹寨县| 本溪市| 磐安县| 哈巴河县| 讷河市| 临夏市| 嘉义市| 会东县| 新兴县| 滨海县| 施秉县| 朔州市| 德昌县| 富锦市| 郁南县| 新巴尔虎左旗| 天气| 常德市| 杂多县| 金湖县| 彭州市| 九龙县| 哈密市| 兴安盟| 延寿县| 盱眙县| 涟水县| 萝北县| 公主岭市| 阿拉善右旗| 灯塔市| 鄂尔多斯市| 大安市| 远安县| 宜都市| 广汉市| 石首市| 肇州县| 宽甸| 芜湖县| 淳化县|