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 数组遍历顺序理解
Sep 09 PHP
用PHP为SHOPEX增加日志功能代码
Jul 02 PHP
php模拟socket一次连接,多次发送数据的实现代码
Jul 26 PHP
ajax在joomla中的原生态应用代码
Jul 19 PHP
基于php在各种web服务器的运行模式详解
Jun 03 PHP
php阻止页面后退的方法分享
Feb 17 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
Jun 19 PHP
php中的动态调用实例分析
Jan 07 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
Mar 27 PHP
PHP匿名函数和use子句用法实例
Mar 16 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 PHP
Laravel Reponse响应客户端示例详解
Sep 03 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输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
PHP 图片合成、仿微信群头像的方法示例
2019/10/25 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
PHP var关键字相关原理及使用实例解析
2020/07/11 PHP
jquery 学习笔记 传智博客佟老师附详细注释
2020/09/12 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
2013/01/24 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
AngularJs中route的使用方法和配置
2016/02/04 Javascript
微信扫码支付零云插件版实例详解
2017/04/26 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
2017/10/25 Javascript
Vue实现商品详情页的评价列表功能
2019/09/04 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
python编程实现希尔排序
2017/04/13 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
pyqt5的QComboBox 使用模板的具体方法
2018/09/06 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
2020/02/26 Python
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
ECHT官方网站:男女健身服
2020/02/14 全球购物
爷爷追悼会答谢词
2014/01/24 职场文书
小学生操行评语
2014/04/22 职场文书
三月学雷锋月活动总结
2014/04/28 职场文书
给学校建议书范文
2014/05/13 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
维修工先进事迹
2014/05/29 职场文书
企业总经理助理岗位职责
2014/09/12 职场文书
毕业生银行实习自我鉴定
2014/10/14 职场文书
工程部岗位职责
2015/02/10 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
刑事附带民事起诉状
2015/05/19 职场文书
初中毕业生感言
2015/07/31 职场文书
vue+iview实现手机号分段输入框
2022/03/25 Vue.js