前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php案例: cookie实现自动登陆

php案例: cookie实现自动登陆

作者头像
贵哥的编程之路
发布2022-09-29 12:53:16
1.7K0
发布2022-09-29 12:53:16
举报
文章被收录于专栏:用户7873631的专栏

作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主

文章目录


前言

学会使用cookie技术进行自动登录功能的实现.

auto_login.php

代码语言:javascript
复制
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
    <title>用户登陆</title>

	<style>
		#showTime{
			width:291px;
			border:1px solid #ccc;
			line-height:23px;
			position:absolute;
			left:500px;
			top:48px;
			text-align:center;
		}
	</style>
</head>
<body>

<div id="login">

	<ul>
		<form id="myForm" name="myForm"  method="post" action='user_center.php'>
			<li>
				<tt>
					<label id="log_type" for="email">用&nbsp;&nbsp;&nbsp;户:</label>
				</tt>
				<div>
					<input id="username" name="username" type="text" class="cell" value='<?php
					echo $_COOKIE['username']?>'/>
				</div>
			</li>
			<li>
				<tt>
					<label for="password">密 码:</label>
				</tt>
				<div>
					<input id="password" name="password" type="password" class="cell"  value='<?php
					echo $_COOKIE['userpwd']?>'/>//如果cookie还存在的话,通过$_COOKIE['userpwd']可以获取cookie里面的userpwd值
				</div>
			</li>
			<li>
				<div>
					<input id="auto_login" name="auto_login" type="checkbox" value="on"/>
					<label for="auto_login">下次自动登录</label>
				</div>
			</li>
			<li>
				<div>
					<input id="sub" type="submit" value='提交'/>
				</div>
			</li>
	</form>
</ul>
</div>

</body>
</html>

user_center.php

代码语言:javascript
复制
<?php
	if(!empty($_POST['username'])){//看看用户名存在的话,执行if里面的代码
		if($_POST['username'] =='admin' && $_POST['password'] == 'admin'){
		//用户名+密码==admin执行if里面的代码
			if($_POST['auto_login'] == 'on'){//==on代表点了自动登录checkbox
				setcookie('username',$_POST['username'],time()+3600*7*24);
				//第一个参数是cookie的名字。第二个参数是用户名,第三个参数是过期时间
				setcookie('userpwd',$_POST['password'],time()+3600*7*24);
				echo "<script>alert('开启自动登陆成功!');</script>";
			}
	?>
		<div style='margin:auto;width:300px;height:30px;line-height:30px;text-align:center;color:#fff;background:#ccc;'>使用cookie实现自动登陆</div>
		<div style='margin:auto;width:300px;border:1px solid #ccc;height:30px;line-height:30px;text-align:center;color:blue;background:#fff;'>
		当前用户:<?echo $_POST['username'];?>,<a href='auto_login.php'>返回主页</a>
		</div>
		<?
		}
	}
	注销:echo "<a href='logout.php?logout=zhuxiao'>注销登陆</a>";
	?>

logout.php

代码语言:javascript
复制
<?php
if($_GET['logout']){
	setcookie('username','',time()-1);//第三个参数代表过期时间为负数。就销毁cookie了
	setcookie('userpwd','',time()-1);//第三个参数比当前时间还-1.代表没有时间
	echo "<script>alert('注销成功!');location='auto_login.php';</script>";//返回首页
}
?>

效果:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 前言
    • auto_login.php
      • user_center.php
        • logout.php
          • 效果:
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档