温馨提示  2024年 6月我们已经停止开发者板块文章内容更新,谢谢来访。存档数据
知识 2023-08-27 32 次阅读

php 怎么实现七天自动登入

   

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

本文操作环境windows7系统,php7.4版,dell g3电脑。

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

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 这里我用了异或加密的方法,因为经过两次异或,会变回原来的值

<?phpfunction 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

<?phprequire,once('function.php');session,start();//开启sessionheader(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

<?phpsession,start();//开启sessionrequire,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视频教程》