欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php基础知识(四)-cookie使用

程序员文章站 2022-04-20 13:10:13
...
php基础知识(4)-cookie使用
php基础知识-cookie使用

示例代码下载页http://xieye.iteye.com/blog/1336095(在附件)

cookie简单定义:浏览器发送请求给服务器时额外传送的数据。

cookie原理:web协议规定,服务器返回请求时可以将一小部分数据存在浏览器客户端,浏览器在下次往同域名服务器请求信息时,会
同时自动把该段信息再发送给服务器,而这一切是对用户透明的,用户不需要理解这些东西可以照常上网。
cookie的一个特点是,服务器存客户端时可以带有时间参数,浏览器会根据这个参数决定cookie是否过期来处理,如果过期了,这个cookie就
不会到服务端。
假如服务端不对cookie做处理,则每次浏览器发送请求到服务端总会自动传送相同内容的cookie。
cookie的另一个特点是多个名称和值的组合。

例子:自动登录。
有3个页面,一个首页,一个是登录页

必须先添加一个用户
insert into test.member(username,password)values('admin', md5('1') );

9.php,10.php,11quit.php 是没有自动登录的例子。

19.php,20.php,21quit.php 是自动登录的例子。

演示
首先是一个普通的登录例子
http://localhost/command/peixun/cookie/9.php,提示登录
进入10.php,输入admin,1则跳转到9.php,显示出当前用户名,如果愿意可以退出。
如果没有点击“退出”按钮,则直接关闭浏览器,再打开浏览器输入http://localhost/command/peixun/cookie/9.php,发现并没有处于登录状态。


然后是一个通过cookie的自动登录例子。
http://localhost/command/peixun/cookie/19.php,提示登录
进入10.php发现多了一个复选框,不勾选的情况下和上面的例子效果完全一样,输入admin,1则跳转到19.php,显示出当前用户名,如果愿意可以退出。
如果勾选后输入admin,1则跳转到19.php,此时不能点击“退出”链接,直接关闭浏览器。
双击桌面的浏览器图标再次打开浏览器,发现处于已登录状态,这就是cookie的效果。

重要说明:本例子只用于演示cookie的用法,实际应用中为安全起见,最好隐藏cooikie的字段含义,程序也因此需要做修改。

代码可下载,只显示第2个例子的代码

19.php
退出";    } else { //未登录分:有cookie的记住我,且为1    if (isset($_COOKIE['rememberme']) &&  $_COOKIE['rememberme']==1 ) {        $username = strval($_COOKIE['username']);        $password = strval($_COOKIE['password']);        $db = Sys::getdb();        $select = $db->select();        $select->from('test.member', 'count(*)'   )               ->where('username=?', $username)               ->where('password=?', $password);        $result = $db->fetchOne($select);        if ($result) { //如果是对的            $_SESSION['islogin'] = 1;            $_SESSION['username'] = $username;                        $html .= '欢迎您,' . $_SESSION['username'] .            "    退出";                    }    }}if(!( isset($_SESSION['islogin']) &&  $_SESSION['islogin'] == 1 ) ){    $html .= '请登录';} $html .= "

这是首页

";echo $html;




20.php
请输入用户名:
请输入密码:
下次自动登录