首页后端开发PHP用PHP怎样实现7天内自动登录的功能?

用PHP怎样实现7天内自动登录的功能?

时间2024-03-25 13:42:03发布访客分类PHP浏览1534
导读:用PHP怎样实现7天内自动登录的功能?当我们登陆使用系统的时候,如果每次登陆都需要输入账号和密码,这就很不便利。对此这篇我们就来看看如何实现自动登录,并且限制时间是7天,这样既能确保一定的安全性,又提供了便利。 本文操作环境:Windows...

用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中文网

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 用PHP怎样实现7天内自动登录的功能?
本文地址: https://pptw.com/jishu/652816.html
PHP项目中怎样实现添加多行数据,操作是什么? 常用React组件库有哪些,优缺点是什么

游客 回复需填写必要信息