当前位置: 首页 > 编程笔记 >

PHP实现会员账号单唯一登录的方法分析

越风史
2023-03-14
本文向大家介绍PHP实现会员账号单唯一登录的方法分析,包括了PHP实现会员账号单唯一登录的方法分析的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了PHP实现会员账号单唯一登录的方法。分享给大家供大家参考,具体如下:

情景再现

同一会员账号限制在同一台设备(电脑、手机、Ipad等)上单点登录,重复登录后,原登录访问页面时则直接跳转到登录页面且需要重新登录才能正常访问。

原理分析

A账号在A电脑上登录后,A账号此时又用B电脑再次登录,则A电脑请求页面时,提示“重新登录”的信息,并跳转到登录页面

思路解析:

A账号在A电脑上登录后,把SESSION ID写入TXT文件,每次访问页面时,都做一次校验(比较txt文件的值是否和当前登录的session_id的值相同)

实例

1、入口与校验(index.php)

<?php
session_start();
$uid = 10;
if(is_login($uid)){
 header('location:loginSuccess.php');
}else{
 $getLogSessionId = file_get_contents('session_log/'.$uid.'.txt');
 if($getLogSessionId){
  echo "已在其他地方登录,请重新登录";
  echo "<br>";
  echo "5秒后跳转到登录页面!";
  header("refresh:5;url=login.php");
 }else{
  echo '第一次登录...';
  echo "<br>";
  echo "3秒钟后跳转到登录页面!";
  header("refresh:3;url=login.php");
 }
}
/**
* 通过登录时写入文件session_id和当前登录设备后生成的session_id进行比较,相同则是同一台设备登录,不同则在别的地方登录
*/
function is_login($uid){
 $getLogSessionId = file_get_contents('session_log/'.$uid.'.txt');
 if($getLogSessionId == session_id()){
  return true;
 }else{
  return false;
 }
}

2、登录(login.php)

<?php
session_start();
echo "登录中....";
echo '<br>';
$uid = 10;
file_put_contents('session_log/'.$uid.'.txt',session_id());
echo "登录完成";

3、登录成功(loginSuccess.php)

<?php
echo "我登录成功了!";

4、保存sessionId文件夹(session_log),测试代码,需要手动建一个或者赋予自动生成文件的权限

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php缓存技术总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP错误与异常处理方法总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

 类似资料:
  • 本文向大家介绍PHP实现生成唯一会员卡号,包括了PHP实现生成唯一会员卡号的使用技巧和注意事项,需要的朋友参考一下 在不查询数据库的情况下,每个会员登录进来会生成一个数字字母组合不重复的会员卡号。 效果图如下: 当我们要将一个庞大的数据进行编号时,而编号有位数限制,比如5位的车牌号、10位的某证件号码、订单流水号、短网址等等,我们可以使用36进制计算出符合位数的不重复的编号。           

  • 本文向大家介绍PHP生成唯一订单号的方法汇总,包括了PHP生成唯一订单号的方法汇总的使用技巧和注意事项,需要的朋友参考一下 第一种 第二种 第三种 第四种: 在网上找了一番,发现这位同学的想法挺不错的,redtamo,具体的请稳步过去看看,我作简要概述,该方法用上了英文字母、年月日、Unix 时间戳和微秒数、随机数,重复的可能性大大降低,还是很不错的。使用字母很有代表性,一个字母对应一个年份,总共

  • 本文向大家介绍jsp登录会话的简单实现,包括了jsp登录会话的简单实现的使用技巧和注意事项,需要的朋友参考一下 jsp登录会话的简单实现 以上就是小编为大家带来的jsp登录会话的简单实现全部内容了,希望大家多多支持呐喊教程~

  • 本文向大家介绍asp.net简单实现单点登录(SSO)的方法,包括了asp.net简单实现单点登录(SSO)的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了asp.net简单实现单点登录(SSO)的方法。分享给大家供大家参考,具体如下: 单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只

  • 本文向大家介绍SpringMVC实现账号只能在一处登陆,包括了SpringMVC实现账号只能在一处登陆的使用技巧和注意事项,需要的朋友参考一下 一、问题引导   在Web开发中,实现一个账号只能在一处登陆有两种形式:1.当某个账号在某处登陆后,如果再在其他处登陆,将前一个账号挤掉;2.当某个账号登陆后,此账号在其他设备登陆提示已经登陆,无法登陆。 正常的应用逻辑第一种应用较为广泛,因此此篇文章讨论

  • 本文向大家介绍php实现登录页面的简单实例,包括了php实现登录页面的简单实例的使用技巧和注意事项,需要的朋友参考一下 开始自然是从最简单的功能起步,我第一个任务选择了做一个登录操作,其实也没想象中那么简单。 1、首先自然是连接和创建数据库 这部分我写在model.php中 2、写前台页面,为了熟练前端框架,使用layui框架界面,前面有一段js代码,来判断用户名密码输入是否为空。 3、login