php实现用户登陆简单实例


Posted in PHP onApril 04, 2017

php实现用户登陆简单实例

前言:

最近要完成的最后一个部分,就是对用户提交的数据进行管理,至于管理,那肯定就是管理员的事了,那一定涉及登陆,验证账号权限,账号是否过期等等问题。

所需知识

session,确实是很重要的东西。并且我遇到session不能跨页,修改PHP.ini的session.use_trans_sid = 0值为1。

具体实现

我的后台设计的比较简单,只需输入一个密码即可,这个密码当然是保存在服务器可以更改的啦。所以只需要给session添加两个变量,flag、time。

首先,用flag来确定管理员是否成功登陆,用time确定登陆是否超时。提交密码后,如果正确会给flag赋值为1,time赋值为当前时间。每次进入新的页面或进行操作时会对这两个变量进行判断,首先判断flag值是否为1,不唯一直接提示未登陆,销毁session,如果为1,再判断当前时间-$_SESSION(‘time')是否小于600(10分钟),若大于,提示登陆超时,销毁session;若小于,允许操作,并更新time变量值为当前值。

部分代码

check_pw.php

<?php
session_start();
$_SESSION['flag'] = 0;
$myfile = fopen("passwd","r") or die("Unable to open file!");
$passwd = fgets($myfile);
if(empty($_POST['pass'])){
  echo "不能为空,重新输入";
  $page = "login.html";
}else{
  $pass = $_POST['pass'];
  $passwd = test_input($passwd);
  $pass = test_input($pass);
  if($pass == $passwd){
    echo "口令正确,允许访问";
    $page = "list_all.php";
    $_SESSION['flag'] = 1;
    $_SESSION['time'] = time(); //当前秒数
  }else{
    echo "口令错误,重新输入";
    $page = "login.html";
  }
}

function test_input($date){
  $date = trim($date);
  $date = stripcslashes($date);
  $date = htmlspecialchars($date);
  return $date;
}
?>
  <a href="<?php echo $page;?>" rel="external nofollow" >点此跳转</a>

list_all.php(部分)

<?php
session_start();
if($_SESSION['flag'] == 1){
  if(time() - $_SESSION['time'] > 600){
    echo "登陆超时";
    echo '<a href="login.html" rel="external nofollow" rel="external nofollow" >点此登陆</a>';
    session_destroy();
    exit();
  }else{
  $_SESSION['time'] = time();
  }
}else{
  echo "未登陆,无权访问!";
  echo '<a href="login.html" rel="external nofollow" rel="external nofollow" >点此登陆</a>';
  session_destroy();
  exit();
}
?>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
解析在apache里面给php写虚拟目录的详细方法
Jun 24 PHP
typecho插件编写教程(六):调用接口
May 28 PHP
PHP简单的MVC框架实现方法
Dec 01 PHP
Zend Framework连接Mysql数据库实例分析
Mar 19 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
Apr 17 PHP
利用PHP将图片转换成base64编码的实现方法
Sep 13 PHP
利用PHP生成静态html页面的原理
Sep 30 PHP
phpMyAdmin无法登陆的解决方法
Apr 27 PHP
php实现支持中文的文件下载功能示例
Aug 30 PHP
php中的explode()函数实例介绍
Jan 18 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 PHP
PHP实现简单的协程任务调度demo示例
Feb 01 PHP
详谈phpAdmin修改密码后拒绝访问的问题
Apr 03 #PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
Apr 03 #PHP
THINKPHP在添加数据的时候获取主键id的值方法
Apr 03 #PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
Apr 03 #PHP
php PDO判断连接是否可用的实现方法
Apr 03 #PHP
php 调用ffmpeg获取视频信息的简单实现
Apr 03 #PHP
php文件包含目录配置open_basedir的使用与性能详解
Apr 03 #PHP
You might like
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
JS中FRAME的操作问题实例分析
2014/10/21 Javascript
JavaScript使用二分查找算法在数组中查找数据的方法
2015/04/07 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
html判断当前页面是否在iframe中的实例
2016/11/30 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
原生JS实现pc端轮播图效果
2020/12/21 Javascript
JS canvas实现画板和签字板功能
2021/02/23 Javascript
[01:30:54]《加油DOTA》 第三期
2014/08/18 DOTA
pyv8学习python和javascript变量进行交互
2013/12/04 Python
Python使用pymysql小技巧
2017/06/04 Python
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
2018/02/18 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
django中forms组件的使用与注意
2019/07/08 Python
Ramy Brook官网:美国现代女装品牌
2019/06/18 全球购物
ASOS西班牙官网:英国在线时尚和美容零售商
2020/01/10 全球购物
儿科护士自我鉴定
2013/10/14 职场文书
优秀班集体获奖感言
2014/02/03 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
2016春节家属慰问信
2015/03/25 职场文书
2015年安全工作总结范文
2015/04/02 职场文书
刑事辩护词范文
2015/05/21 职场文书
升级 Win11 还是坚守 Win10?微软 Win11 新系统缺失功能大盘点
2022/04/05 数码科技