PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

php+redis实现注册、删除、编辑、分页、登录、关注等功能的方法

墨辰丷
墨辰丷 原创
2018-05-25 14:33:38 1718浏览

这篇文章主要介绍了php+redis实现注册、删除、编辑、分页、登录、关注等功能,结合实例形式分析了php+redis项目开发中常用的注册,删除,编辑,分页,登录,关注功能相关实现技巧,需要的朋友可以参考下

本文实例讲述了php+redis实现注册、删除、编辑、分页、登录、关注等功能。分享给大家供大家参考,具体如下:

主要界面

连接redis

redis.php

connect("localhost",6379);
  //var_dump($a);
  //授权
  $redis->auth("107lab");

注册界面

add.php


  用户名:
  密码:
  年龄:
     

注册实现

reg.php

incr("userid");//设置自增id,相当于主键
  $redis->hMset("user:".$uid,array("uid"=>$uid,"username"=>$username,"password"=>$password,"age"=>$age));//用hash类型存储用户比较方便
  //将用户id存入一个链表中,便于统计数据
  $redis->rpush("uid",$uid);
  //将用id存入以用户名为键的字符类型中,便于查看用户是否存在。
  $redis->set("username:".$username,$uid);
  header('location:list.php');

列表页面

list.php

注册
get("auth:".$_COOKIE['auth']);
    $name = $redis->hget("user:".$id,"username");
?>
    欢迎您: 退出
  
  登录
  
lsize("uid");//获取链表的长度
  //echo $count;
  //页大小
  $page_size = 3;
  //当前页码
  $page_num=(!empty($_GET['page']))?$_GET['page']:1;
  //页总数
  $page_count = ceil($count/$page_size);
  $ids = $redis->lrange("uid",($page_num-1)*$page_size,(($page_num-1)*$page_size+$page_size-1));
  //var_dump($ids);
  foreach($ids as $v){
    $data[]=$redis->hgetall("user:".$v);
  }
  /*
  //以下为最初想到的分页处理,放入一个数组中,根据uid的最大值来当总个数,但是删除个别用户以后,uid不会变小,所以建议用链表,因为他有个lsize函数可以求出链表长度
  //根据userid获取所有用户
  for($i=1;$i<=($redis->get("userid"));$i++){
    $data[]=$redis->hgetall("user:".$i);
  }
  //过滤空值
  $data = array_filter($data);
  //var_dump($data);
  */
?>

  
    uid
    username
    age
    操作
  
  
  
    
    
    
    
      " rel="external nofollow" >删除
      " rel="external nofollow" >编辑
      
      &uid=" rel="external nofollow" >加关注
      
    
  
  
  
    
      =1){ ?>
      " rel="external nofollow" >上一页
      
      
      " rel="external nofollow" >下一页
      
      首页
      " rel="external nofollow" >尾页
      当前页
      总共页
      总共个用户
    
  



  我关注了谁
  smembers("user:".$id.":following");
    foreach($data as $v){
      $row = $redis->hgetall("user:".$v);
  ?>
  
    
    
    
  
  

  
  smembers("user:".$id.":followers");
    foreach($data as $v){
      $row = $redis->hgetall("user:".$v);
  ?>
  
    
    
    
  
  
我的粉丝

退出

logout.php

登录

login.php

get("username:".$username);
  if(!empty($id)){
    $password = $redis->hget("user:".$id,"password");
    if(md5($pass) == $password){
      $auth = md5(time().$username.rand());
      $redis->set("auth:".$auth,$id);
      setcookie("auth",$auth,time()+86400);
      header("location:list.php");
    }
  }
?>

  用户名:
  密码:
  

删除

del.php

hget("user:".$id,"username");
  $a=$redis->del("user:".$uid);
  $redis->del("username:".$username);
  $redis->lrem("uid",$uid);
  //var_dump($a);
  header("location:list.php");

编辑界面

mod.php

hgetall("user:".$uid);
?>

  " name="uid">
  用户名:">
  年龄:">
     

编辑功能

doedit.php

hmset("user:".$uid,array("username"=>$username,"age"=>$age));
  if($a){
    header("location:list.php");
  }else{
    header("location:mod.php?id=".$uid);
  }

加关注

addfans.php

sadd("user:".$uid.":following",$id);
  $redis->sadd("user:".$id.":followers",$uid);
  header("location:list.php");

以上就是本文的全部内容,希望对大家的学习有所帮助。


相关推荐:

php中Redis的应用消息传递详解

PHP基于Redis消息队列发布微博的方法详解

PHPSession入库/存入redis的方法详解

以上就是php+redis实现注册、删除、编辑、分页、登录、关注等功能的方法的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。