- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6构建PHP互动网页
值得注意的是,Cookie技术有很多局限性,例如: 多人共用一台计算机,Cookie数据容易泄露; 一个站点存储的Cookie信息有限; 有些浏览器不支持Cookie; 用户可以通过设置浏览器选项来禁用Cookie。 正是由于以上Cookie的一些局限性,所以在进行会话管理时,SessionID通常会选择Cookie和URL两种方式来保存,而不是只保存在Cookie中。 1. 创建Cookie 在PHP中创建Cookie使用setcookie()函数,语法格式如下: bool setcookie(string $name [, string $value [, int $expire [, string $path [, string $domain [, bool $secure [, bool $httponly ]]]]]]) 本函数的参数如下: $name。表示Cookie的名字。 $value。表示Cookie的值,该值保存在客户端,所以不要保存比较敏感的数据。 $expire。表示Cookie过期的时间,这是一个UNIX时间戳,即从UNIX纪元开始的秒数。对于$expire的设置一般通过当前时间戳加上相应的秒数来决定。例如,time()+1200表示Cookie将在20分钟后失效。如果不设置则Cookie将在浏览器关闭之后失效。 $path。表示Cookie在服务器上的有效路径。默认值为设定Cookie的当前目录。 $domain。表示Cookie在服务器上的有效域名。例如,要使Cookie能在域名下的所有子域都有效,该参数应设为.。 $secure。表示Cookie是否仅允许通过安全的HTTPS协议传输。取值为1或0,当设成1时Cookie仅允许通过HTTPS传输,设成0表示允许通过普通HTTP协议传输。默认值为0。 例如: ?php setcookie(user, administrator); //设置Cookie的名称和值 setcookie(password, 123456, time()+3600); //设置一个Cookie,1小时后失效 setcookie(name, david, time()+3600, \php5 ); //创建只在php5目录下有效的Cookie setcookie(number, 001, time()+3600, , .); //创建在.有效的Cookie ? 2. 访问Cookie 通过setcookie()函数创建的Cookie是作为数组的单元,存放在预定义变量$_COOKIE中的。也就是说,直接对$_COOKIE数组单元进行赋值也可以创建Cookie。但$_COOKIE数组创建的Cookie在会话结束后就会失效。例如: ?php setcookie(name, 王林); $_COOKIE[number]=081101; print_r($_COOKIE); //输出:Array ( [name] = 王林 [number] = 081101 ) ? 访问Cookie的方法与Session类似,例如: ?php setcookie(name,david); if(isset($_COOKIE[name])) echo $name; ? 3. 删除Cookie Cookie在创建时指定了一个过期时间,如果到了过期时间,Cookie将自动被删除。在PHP中没有专门的删除Cookie的函数。如果为了安全方面的考虑,在Cookie过期之前就想删除Cookie,可以使用setcookie()函数或$_COOKIE数组将已知Cookie的值设为空。 例如: ?php $_COOKIE[user]=administrator; setcookie(password,123456,time()+3600); $_COOKIE[user]=; //使用$_COOKIE清除Cookie setcookie(password,); //使用setcookie()函数清除Cookie print_r($_COOKIE); //输出:Array ( [user] = ) ? 【例6.3】 制作一个登录表单,将表单的值保存在Cookie中,并可以选择Cookie的有效时间。 新建EX6_3_1.php文件,输入以下代码。 新建EX6_3_2.php文件,输入以下代码: ?php if($username=@$_COOKIE[username]) { echo 欢迎管理员.$username.登录; } else echo 您没有权限访问本页面; ? 运行EX6_3_1.php文件,输入用户名administrator,密码
文档评论(0)