文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

redis应用之——注册、登录

2024-04-02 19:55

关注

字段设计:

#设置登录帐号:

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也释放掉。

redis应用之——注册、登录


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯