PHP教程之PHP4之COOKIE撑持详解
开发相册系统过程中就有过这样的问题,因为没有交流好,出现重复工作问题,因为文档没有详细的说明而经常临时问对方。 PHP4之COOKIE撑持详解创立贸易站点或功效对照完美的团体站点,经常需求纪录会见者的信息,在PHP中供应了两种便利的手腕:session和cookie功效.为了永世的坚持用户信息,则cookie是最便捷的手腕.在这里我将为人人具体的解说cookie的功效及利用办法.
一: 设置cookie
利用cookie前必需设置cookie.
函数原型:int setcookie(string name,string value,int expire,string path,string domain,int secure)
个中,除name外,一切的参数都是可选的,可以用空的字符串暗示未设置.
属性value: 用来指定值.
属性path:用来指定cookie被发送到办事器的哪个目次途径下.
属性domain:可以在阅读器端对cookie的发送停止限制.
expire参数:用来指定cookie的无效工夫,它是一个尺度的Unix工夫标志.
可以用time()或mktime()函数获得,以秒为单元.
secure参数:暗示这个cookie是不是经由过程加密的HTTPS协定在收集上传输.
二: 设置cookie时的注重事项
在统一个页面中设置cookie,实践上是按从后往前的按次停止的.假如要先删除一个cookie,再写入一个cookie,则必需先写写入语句,再写删除语句.不然会呈现毛病.
三: setcookie举例
复杂的: setcookie("mycookie","value_of_mycookie");
带生效工夫的: setcookie("withExpire","Expire_in_1_hour",time()+3600);
甚么都有的:setcookie("FullCookie","Full_cookie_value",time+3600,"/forum","www.123.com",1);
四: cookie的一些特色
cookie是面向途径的.缺省path属性时,WEB办事器页会主动传递以后途径给阅读器.指定途径会强迫办事器利用设置的途径.
在一个目次页面里设的cookie在另外一个目次的页面里是看不到的.
五: 吸收和处置cookie
PHP对cookie的处置是全主动的,和处置FORM变量的准绳一样.固然也能够利用PHP全局变量,$HTTP_COOKIE_VARS数组.
例:echo $mycookie;
echo $cookie Array;
echo count($cookie Array);
echo $HTTP_COOKIE_VARS["mycookie"];
六: 删除cookie
(1)挪用只带有name参数的setcookie();
(2)使生效工夫为time()或time-1;
七: 利用cookie的限制
(1) 必需在HTML文件的内容输入之前设置;
(2)分歧的阅读器对cookie的处置纷歧致,利用时必定要思索;
(3)客户真个限制,好比用户设置制止cookie,则cookie不克不及创立;
八: 一个详细的例子,但愿人人对cookie有加倍深入的熟悉
<?
//cookie.php
if(!isset($flag))
{
setcookie("mycookie","this my cookie!");
header("location:cookie.php?flag=1");
exit;
}
?>
<html>
<body>
<?
echo "cookie中有:".$mycookie;
?>
</body>
</html>
怎样,经由过程下面的引见,你是否是对PHP中的COOKIE功效有了具体的懂得.发扬你的伶俐才干,让你的站点功效更壮大吧.若有成绩请与 fbigov@sina.com接洽.让咱们一同前进. 给你的建议是,有些最常用的语句是需要记住的 比如if for while这些、其他的一般语句你只要知道有这个函数或者有这个功能就可以了,当你用的时候你可以凭借记忆搜索就可以了。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax 如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域, 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。 学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81 学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。 当然这种网站的会员费就几十块钱。 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
页:
[1]
2