php如何实现七天自动登录

发布时间:2021-12-16 11:10:36 作者:iii
来源:亿速云 阅读:304

这篇文章主要讲解了“php如何实现七天自动登录”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何实现七天自动登录”吧!

php实现七天自动登录的方法:1、新建show.php文件实现登录页面;2、创建function.php文件实现加密cookie;3、设置用户名和密码的判断;4、开启session并实现一周内自动登录即可。

php如何实现七天自动登录

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

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

PHP实现一周内自动登陆:

1.新建四个文件
php如何实现七天自动登录

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');
}

?>

运行一下
php如何实现七天自动登录

查看一下cookie

php如何实现七天自动登录

把浏览器关闭再打开,此时是读取cookie
php如何实现七天自动登录

这里只是提供提供一个思路,具体的登录验证还有待读者自己思考。

感谢各位的阅读,以上就是“php如何实现七天自动登录”的内容了,经过本文的学习后,相信大家对php如何实现七天自动登录这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. 七天学会NodeJS
  2. 用find删除七天前最近七天的文件

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

php

上一篇:php 如何实现日期转中文

下一篇:Linux sftp命令的用法是怎样的

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》