您现在的位置是:群英 > 开发技术 > PHP语言
用PHP怎样实现7天内自动登录的功能?
Admin发表于 2022-02-09 17:57:13707 次浏览

    用PHP怎样实现7天内自动登录的功能?当我们登陆使用系统的时候,如果每次登陆都需要输入账号和密码,这就很不便利。对此这篇我们就来看看如何实现自动登录,并且限制时间是7天,这样既能确保一定的安全性,又提供了便利。

    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。

    php 怎么实现七天自动登录?

    1.新建四个文件

    show.php

<?php
?>
<html >

<head>
<meta charset="utf-8">
<title>测试</title>
</head>
<body>
<form action="login.php" method="post">
用户名<input type="text" name="name"/>
密码<input type="text" name="psd"/>
自动登录<input type="radio" name="auto">
    <input type="submit" value="提交"/>

</form>
</body>
</html>

    function.php//加密cookie
    这里我用了异或加密的方法,因为经过两次异或,会变回原来的值

<?php
function encryption ($value, $type=0) {
$key = md5('denglu');//里边的字符可以自己设置
if (!$type) {
return str_replace('=', '', base64_encode($value ^ $key));
}

$value = base64_decode($value);
return $value ^ $key;
}

    login.php

<?php
require_once('function.php');
session_start();//开启session
header("Content-Type: text/html; charset=UTF-8");

/*
 * 添加一些用户名和密码的判断
 * 。。。。。。。。。
 */

if(isset($_POST['auto'])){//如果勾选了自动登陆一周
    if(!isset($_COOKIE['auto'])){
        setcookie('auto',encryption($_POST['name']),7*24*3600+time());//设置cookie过期时间为一周后
    }
    $_SESSION['name'] = $_POST['name'];
    header('location:success.php');
}else{//没有勾选自动登陆一周
    $_SESSION['name'] = $_POST['name'];
    header('location:success.php');
}

    success.php

<?php
session_start();//开启session
require_once('function.php');
header("Content-Type: text/html; charset=UTF-8");
if(isset($_SESSION['name'])){
echo '成功登陆session:用户名为'.$_SESSION['name'];
}
elseif(isset($_COOKIE['auto'])){
echo '成功登陆cookie:用户名为'.encryption($_COOKIE['auto'],1);
}else{//什么都没有的跳转到登录表单
header('location:show.php');
}

?>

    运行一下

    查看一下cookie

    把浏览器关闭再打开,此时是读取cookie

    以上就是用PHP实现7天内自动登录功能的介绍,本文只是提供了一种实现思路,代码仅供参考,需要的朋友可以了解看看,希望对大家学习PHP有帮助,想要了解更多可以继续浏览群英网络其他相关的文章。

文本转载自PHP中文网

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2022-09-03 17:49:38 
摘要:本篇文章给大家详细介绍一下Bootstrap中的下拉列表select,适合初学者学习,希望对大家有所帮助!
2022-08-10 17:55:25 
摘要:python另起一行的方法:1、使用三个单引号可以进行换行;2、使用三个双引号可以进行换行;3、使用以【\】结尾可以进行换行。
2022-06-10 17:06:45 
摘要:前言:在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说concat和splice方法的使用​​不多说把代码编辑器打开​​一、concat方法1直接vs打开2代码块//功能:合并数组,
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部