作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主
学会使用cookie技术进行自动登录功能的实现.
<!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">用 户:</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>
<?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>";
?>
<?php
if($_GET['logout']){
setcookie('username','',time()-1);//第三个参数代表过期时间为负数。就销毁cookie了
setcookie('userpwd','',time()-1);//第三个参数比当前时间还-1.代表没有时间
echo "<script>alert('注销成功!');location='auto_login.php';</script>";//返回首页
}
?>