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 相关文章推荐
PHP4实际应用经验篇(1)
Oct 09 PHP
PHP中的cookie不用刷新就生效的方法
Feb 04 PHP
php常用ODBC函数集(详细)
Jun 24 PHP
利用php下载xls文件(自己动手写的)
Apr 18 PHP
php禁止某ip或ip地址段访问的方法
Feb 25 PHP
全新Mac配置PHP开发环境教程
Feb 03 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
Jun 19 PHP
详解Laravel视图间共享数据与视图Composer
Aug 04 PHP
php类的自动加载操作实例详解
Sep 28 PHP
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
Oct 14 PHP
JS操作XML中DTD介绍及使用方法分析
Jul 04 PHP
php求斐波那契数的两种实现方式【递归与递推】
Sep 09 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中根据IP地址判断城市实现城市切换或跳转代码
2012/09/04 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
使用Yii2实现主从数据库设置
2016/11/20 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
jQuery数据显示插件整合实现代码
2011/10/24 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
2015/12/16 Javascript
极力推荐10个短小实用的JavaScript代码段
2016/08/03 Javascript
深入浅析jQuery对象$.html
2016/08/22 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
vue开发简单上传图片功能
2020/06/30 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
Python使用django获取用户IP地址的方法
2015/05/11 Python
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
2015/05/22 Python
在Django中限制已登录用户的访问的方法
2015/07/23 Python
Python使用LDAP做用户认证的方法
2019/06/20 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
2014两会学习心得:时代的发展
2014/03/17 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
教师三严三实心得体会
2014/10/11 职场文书
2015年学校减负工作总结
2015/05/19 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS