PHP Cookies的学习

Cookies的作用是:识别用户。计算机要访问一个网页,通过浏览器,输入页面的网址,连接到服务器之前,首先发送Cookie,用以识别用户。举两个例子了解Cookie的实用性。

eg:首次登录博客园,浏览器会提示你是否要记住密码,如果确认浏览器记住密码,服务器就会发送包含用户登录凭据的Cookie到用户的硬盘上,那么下次打开博客园,浏览器就会发送该Cookie作为服务器的验证凭据,就实现了自动登录。

eg:淘宝购物,我在不同的页面,挑选了不同的商品,每挑选一件商品,浏览器就向服务器发送一段Cookie,记录商品信息。最后结账时,服务器读取来自所有来自我的Cookie就能计算总金额并给我统一发货。

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2017/8/1
 * Time: 10:32
 */
setcookie("Paul","Chrome",time()+3600);//设置Cookie
//echo $_COOKIE["Paul"];
if (isset($_COOKIE["Paul"]))
{
    echo "Welcome " . $_COOKIE["Paul"] . "!<br />";
}else{
    echo "Welcome guest!<br />";
}
echo $_COOKIE["Paul"];
echo "<br/>";
print_r($_COOKIE);//打印所有的Cookie值
?>
<html>
<body>
    <p>Cookie 的设置在html代码之前</p>
</body>
</html>

F12在网页布局的Application中有Cookie的值,可以查看,以便更深理解Cookie的作用。

使用Cookie保存用户登录的用户名实例,用户登录文件:login.php

<?php
?>
<html>
<head>
    <title>用户登录</title>
</head>
<body>
<?php
function getCookieUsername(){
    if(empty($_COOKIE['username'])){
        return "";
    }else{
        return $_COOKIE['username'];
    }
}
?>
<form action="admin.php" method="post">
    用户名:<input type="text" name="username" value="<?php echo getCookieUsername(); ?>"><br />
    密码:<input type="password" name="pwd"><br />
    是否保存用户名:<input type="checkbox" name="yes"><br />
    <input type="submit" name="sub" value="登录">
</form>
</body>
</html>

admin.php如下:

<?php
if(!empty($_POST['sub']) && $_POST['username']=="Abby"){
    echo "欢迎".$_POST['username']." 登录成功";
    if(!empty($_POST['yes'])){
        setCookie("username",$_POST['username'],time()+3600*24*30);
    }else{
        setCookie("username","",time()-10);
    }
}else{
    echo "你的账号错误,请重新输入<br />";
}
echo "<a href='login.php'>返回登录页面</a>";
?>

可以动手自己试一试啦。

posted @ 2017-08-01 22:32  Abby*^o^*  阅读(231)  评论(0编辑  收藏  举报