php

位置:IT落伍者 >> php >> 浏览文章

PHP网络编程:用Session保存用户信息


发布日期:2018年03月25日
 
PHP网络编程:用Session保存用户信息
——此文章摘自《PHP网络编程典型模块与实例精讲》定价 特价 详细>>http://tracklinktechcn/?m_id=dangdang&a_id=A&l=&l_type= width= height= border= nosave>

HTTP协议是无状态的它完成的事情只是简单地发送请求到服务器以及从服务器获取数据;除此之外一无所知即使两次请求同一个PHP文件它也不会认为两次请求之间有任何联系

由于HTTP协议的无状态这就使得无法在两个不同的请求之间共享信息如无法记录当前访问者的信息虽然在登录过程已经验证了用户的用户名与密码是正确的但是当用户跳转到其他页面时从登录页面获得的用户信息全部丢失这是用户不希望发生的同时要求用户进入每一个页面时都要输入用户名与密码进行验证又是不现实的这就要求可以在不同页面之间共享信息

一般来说对于PHP以及其他的Web编程语言可以使用Cookie或者是Session来解决这个问题

Cookie是保存在客户端的一个小文件可以将一些需要在页面间共享的资料存储在这个文件中但Cookie有个缺点一是大小不可以超过KB(不同的浏览器可能限制不同)二是用户可以在浏览器设置中禁用Cookie三是Cookie是在客户端记录资料安全性较差

Session一般是通过Cookie来实现的如果用户禁用了CookieSession也同样失效不同于Cookie的是Session只是把一个信息的标识通过Cookie放在客户端而实际的信息却存放在服务器上这样安全性能上有较大的提高现在也有另外一种不通过Cookie而使用Session的方法即URL重写技术这种方法是将Session的标识作为URL的参数与服务进行交互其好处是不受客户端对Cookie禁用的限制缺点是使用起来较为麻烦

在PHP中使用Session非常简单PHP提供了一个自动全局变量$_SESSION用于处理 Session但是需要注意的是如果在PHP的配置文件中没有设置自动启动Session的话在使用Session之前一定要调用 session_start()函数启动Session

再次打开loginphp添加以下以粗体显示的代码以记录用户信息

http://developcsaicn/web/images/gif>

不要滥用 SessionSession最大的作用是在页面之间维持状态许多初学者在掌握Session技术后很容易将Session作为存储数据的法宝在 Session里放置很多数据由于这些数据直到Session过期才会被释放因此会给服务器带来很大的负担

上一篇:PHP网络编程:验证登录名和密码[1]

下一篇:PHP网络开发详解:搜索页面的设计