session全教程(三)

三、session应用举例

一、cookie介绍

以下这些例子片断仅供参考,你可以定制也可以不定制session,随你便

cookie 常用于识别用户。cookie
是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送
cookie。通过 PHP,您能够创建并取回 cookie 的值。

(1)用于用户认证

PHP用SetCookie函数来设置Cookie。

?session_start();$dbh=mysql_connect(localhost:3306,xxxx,xxxx);mysql_select_db(znsoft);//选择数据库$query=selectuseridfromreguserwhereuserid=$useridandpass=$pass;//$userid$pass是登录form传递过来的用户名和密码$res=mysql_query($query,$dbh);if($row=mysql_fetch($res)){$reguser=$row[0];?scriptalert(ok,哥们,欢迎你!);/script?}else{$reguser=;?scriptalert(sorry,你不是注册用户!);/script?//你自己放上代码吧}session_register(reguser);?

SetCookie函数定义了一个Cookie,并且把它附加在HTTP头的后面,SetCookie函数的原型如下:
int SetCookie(string name, string value, int expire, string path, string
domain, int secure);

另一页面中检查是否已经登录

参数说明:cookie名称,cookie值,过期时间,有效路径,有限域名,https传递才有效

================

注意:当前设置的Cookie不是立即生效的,而是要等到下一个页面时才能看到.这是由于在设置的这个页面里Cookie由服务器传递给客户浏览器,在下一个页面浏览器才能把Cookie从客户的机器里取出传回服务器的原因。

?session_start();if(isset($reguser)$reguser!=)//已经登录{echo欢迎你,哥们;}else//没有登录呀echo请注册吧;?

带失效时间的: setcookie+24*60*60);//1day

退出功能

Cookie是面向路径的
,默认存储在当前文件下,如果没有设置路径,不同文件下的cookie默认保存在不同文件夹下,如图:默认保存在mytest文件夹下

===============================

2、接收和处理Cookie

?session_destroy();//或$reguser=;?

用户端与服务端的web通信协议是http。而PHP通过http取得用户数据惯用的三种方法分别是:POST方法、GET方法还有Cookie。而PHP默认传递方法正是Cookie,也是最佳方法。

(2)用于传递变量

比如设置一个名为MyCookier的Cookie,PHP会自动从WEB服务器接收的HTTP头里把它分析出来,并形成一个与普通变量一样的变量,名为$myCookie,这个变量的值就是Cookie的值

本程序用于在页面之间传递变量

要删除一个已经存在的Cookie,有两个办法:

?$name=m.y;if(!sesion_is_registered(name))//没有注册session变量namesession_register(name);//注册变量name?

一是调用只带有name参数的SetCookie,那么名为这个name的Cookie将被从关系户机上删掉;例如:setcookie;另一个办法是设置Cookie的失效时间为time-1,那么这个Cookie在这个页面的浏览完之后就被删除了。
例如:setcookie-24*60*60);
要注意的是,当一个Cookie被删除时,它的值在当前页在仍然有效的。
使用Cookie的注意事项:

第二页

首先是必须在HTML文件的内容输出之前设置(Cookie是HTTP协议头的一部分,用于浏览器和服务器之间传递信息,所以必须在任何属于HTML文件本身的内容输出之前调用Cookie函数。在PHP页面可以先使用

===================

澳门新葡亰网站注册,ob_start();//开启

?echo$name;//不想用了,删掉吧if(session_is_registered(name))//是否注册,如果已经注册session_unregister(name);//当然删掉啦?

ob_end_flush(); //刷新缓存

全文完

可以防止header提示错误);

不同的浏览器对Cookie的处理机制不一样cookie限制是在客户端的。一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个。当前设置的Cookie不是立即生效的,而是要等到下一个页面时才能看到

二、session介绍

session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构来保存信息,每一个网站访客都会被分配给一个唯一的标志符,即会话ID,它的存放形式无非两种:要么经过url传递,要么保存在客户端的Cookies里.当然,你也可以将Session保存到数据库里,这样会更安全,但效率方面会有所下降.url方式传递安全性肯定太差,PHP的会话机制是通过设置Cookie,在Cookie中保存会话id,在服务器端会生成session文件,与用户进行关联,Web应用程序存储与这些Session相关的数据,并在各页面间进行传递.

PHP相关函数

在PHP中有关Session的函数比较多,不过我们最常用到的也就这么几个函数:

session_start():启用session机制,在需要用到session的程序文件的最开始调用它.