这篇文章主要讲解了“PHP如何实现七天自动登录”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何实现七天自动登录”吧!php实现七天自动登录的方法:1、新建show.php文件实现登录
这篇文章主要讲解了“PHP如何实现七天自动登录”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何实现七天自动登录”吧!
php实现七天自动登录的方法:1、新建show.php文件实现登录页面;2、创建function.php文件实现加密cookie;3、设置用户名和密码的判断;4、开启session并实现一周内自动登录即可。
本文操作环境:windows7系统,PHP7.4版,Dell G3电脑。
php 怎么实现七天自动登录?
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
这里我用了异或加密的方法,因为经过两次异或,会变回原来的值
<?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如何实现七天自动登录”的内容了,经过本文的学习后,相信大家对php如何实现七天自动登录这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!
--结束END--
本文标题: php如何实现七天自动登录
本文链接: https://lsjlt.com/news/302007.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0