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 相关文章推荐
与数据库连接
Oct 09 PHP
php+iframe实现隐藏无刷新上传文件
Feb 10 PHP
PHP多例模式介绍
Jun 24 PHP
关于PHP语言构造器介绍
Jul 08 PHP
php calender(日历)二个版本代码示例(解决2038问题)
Dec 24 PHP
phpMyAdmin安装并配置允许空密码登录
Jul 04 PHP
php简单防盗链实现方法
Jul 29 PHP
如何使用php实现评委评分器
Jul 31 PHP
php组合排序简单实现方法
Oct 15 PHP
php实现评论回复删除功能
May 23 PHP
PHP面向对象之工作单元(实例讲解)
Jun 26 PHP
PHP后门隐藏的一些技巧总结
Nov 04 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
phpfans留言版用到的install.php
2007/01/04 PHP
PHP与Java进行通信的实现方法
2013/10/21 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
smarty模板引擎基础知识入门
2015/03/30 PHP
PHP实现图片自动清理的方法
2015/07/08 PHP
最常用的12种设计模式小结
2011/08/09 Javascript
jquery用offset()方法获得元素的xy坐标
2014/09/06 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
基于node实现websocket协议
2016/04/25 Javascript
jquery滚动条插件(可以自定义)
2016/12/11 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
node.js中使用Export和Import的方法
2017/09/18 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
解决select2在bootstrap modal中不能正常使用的问题
2018/08/09 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
2019/11/01 Javascript
vue项目中使用eslint+prettier规范与检查代码的方法
2020/01/16 Javascript
微信小程序实现滑动操作代码
2020/04/23 Javascript
python读写二进制文件的方法
2015/05/09 Python
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
python 获取网页编码方式实现代码
2017/03/11 Python
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
Python random模块用法解析及简单示例
2017/12/18 Python
Python实现基于C/S架构的聊天室功能详解
2018/07/07 Python
Pytorch实现LSTM和GRU示例
2020/01/14 Python
Python随机数函数代码实例解析
2020/02/09 Python
浅析python标准库中的glob
2020/03/13 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
巴西补充剂和维生素购物网站:Natue
2019/06/17 全球购物
写给女朋友的检讨书
2014/01/28 职场文书
《槐乡五月》教学反思
2014/04/25 职场文书
2016年春季开学典礼新闻稿
2015/11/25 职场文书
小学六一儿童节活动开幕词
2016/03/04 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
对Golang中的FORM相关字段理解
2021/05/02 Golang