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 相关文章推荐
PHP+javascript模拟Matrix画面
Oct 09 PHP
PHP调用MySQL的存储过程的实现代码
Aug 12 PHP
PHP伪造referer实例代码
Sep 20 PHP
php 魔术函数使用说明
Feb 21 PHP
Zend的MVC机制使用分析(一)
May 02 PHP
php数组合并的二种方法
Mar 21 PHP
PHP实现递归无限级分类
Oct 22 PHP
浅析Yii2 GridView实现下拉搜索教程
Apr 22 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
May 20 PHP
PHP查询大量数据内存耗尽问题的解决方法
Oct 28 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
Nov 25 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
May 20 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
php入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
codeigniter自带数据库类使用方法说明
2014/03/25 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
jquery json 实例代码
2010/12/02 Javascript
JavaScript cookie的设置获取删除详解
2014/02/11 Javascript
Jquery插件编写简明教程
2014/03/25 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
Java File类的常用方法总结
2015/03/18 Javascript
jQuery控制网页打印指定区域的方法
2015/04/07 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
2016/06/13 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
2016/08/05 Javascript
javascript的几种写法总结
2016/09/30 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
原生JS实现左右箭头选择日期实例代码
2017/03/14 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
React 源码中的依赖注入方法
2018/11/07 Javascript
Python中的Numpy入门教程
2014/04/26 Python
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
Python的SQLAlchemy框架使用入门
2015/04/29 Python
Pycharm编辑器技巧之自动导入模块详解
2017/07/18 Python
详解Python3 对象组合zip()和回退方式*zip
2019/05/15 Python
使用turtle绘制五角星、分形树
2019/10/06 Python
Pandas中DataFrame基本函数整理(小结)
2020/07/20 Python
python 实现波浪滤镜特效
2020/12/02 Python
css3绘制天猫logo实现代码
2012/11/06 HTML / CSS
护士检查书
2014/01/17 职场文书
目标管理责任书
2014/04/15 职场文书
员工保密承诺书
2014/05/28 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
水电工程师岗位职责
2015/02/13 职场文书
公司前台接待岗位职责
2015/04/03 职场文书