已经有一个session登陆验证的实例了,就让我们在cookie验证登陆的实例中结束PHP的session和cookie吧。
首先写一个log_cookie.htm页面。
代码如下:
<html> <head> <title>Login_phpdo</title> </head> <body> <form method="post" action="check_cookie_login.php"> <div style="width:353"> <dl> <dt></dt> <dd><div align="left">Username:<input /></div></dd> <dd><div align="left">Psssword:<input /></div></dd> <dd> <div align="left">Cookie time:<select> <option value="0" selected="selected">浏览器进程</option> <option value="1">保存1天</option> <option value="2">保存30天</option> <option value="3">保存360天</option> </select></div> </dd> <dd> <p align="center"> <input value="Submit" /> <input value="Reset" /> </p> </dd> </dl> </div> </form> </body> </html>
表单提交给了check_cookie_login.php页面,用于检测是否存在cookie。
代码如下:
<?php
@mysql_connect("localhost","root",'19860924')
or die("数据库连接失败");
@mysql_select_db("mydb")
or die("选择数据库失败");
//获取输入的信息
$username = $_POST['username'];
$passcode = $_POST['passcode'];
$cookie = $_POST['cookie'];
//获取session的值
$query = @mysql_query("select username,userflag from users where username = '$username' and passcode = '$passcode'")
or die("SQL语句执行失败");
//判断用户以及密码
if($row = mysql_fetch_array($query))
{
//判断权限
if($row['userflag'] == 1 or $row['userflag'] == 0)
{
switch ($cookie)
{
case 0:
setcookie("username",$row['username']);
break;
case 1:
setcookie("username",$row['username'],time()+24*60*60);
break;
case 2:
setcookie("username",$row['username'],time()+24*60*60*30);
break;
case 3:
setcookie("username",$row['username'],time()+24*60*60*365);
break;
}
header("location:welcome_cookie_login.php");
}
else
{
echo "userflag不正确";
}
}
else
{
echo "username或者usercode";
}
?>
header(“location:welcome_cookie_login.php”)这句将页面转向了欢迎页面。
代码如下:
<?php
session_start();
if(isset($_COOKIE['username']))
{
@mysql_connect("localhost","root",'19860924')
or die("数据库连接失败");
@mysql_select_db("mydb")
or die("选择数据库失败");
$username = $_COOKIE['username'];
//获取userflag
$query = @mysql_query("select userflag from users where username = '$username'")
or die ("SQL语句执行失败");
$row = mysql_fetch_array($query);
$flag = $row['userflag'];
if($flag == 1)
echo "欢迎管理员".$_SESSION['username']."登陆";
if($flag == 0)
echo "欢迎用户".$_SESSION['username']."登陆";
echo "<a href='destroy_cookie_login.php'>注销</a>";
}
else
{
echo "您没有权限访问此页面";
}
?>
最后我们注销cookie,还记得怎么注销吗?
代码:
<?php
setcookie("username");
?>







有没有那个退出登录后自动清楚cookie呀
老张 回复:
十月 13th, 2010 at 8:52 下午
@陈剑, 有,header转向清除cookie页面,然后setcookie(“username”)就行了
这个是沙发吗?不会是搞错了吧
老张 回复:
十月 13th, 2010 at 8:55 下午
@黄江进口二手车, 我这才几个人啊,不是沙发就是板凳,要不就是台阶,很少能到地下室的