请教关于php5中session使用的一些基础问题

各位大神,我对session的使用有一些问题,网上的一讲解有些深入,对我解决当前问题作用比较少,请教问题如下,能不能举个例子让我明白用户登陆成功后是如何存储session,如何在不同页面间保持登陆状态的,如果要注销登陆如何做呢?不同的用户之间session如何区分他们的id是多少的?session的原理我学过了,但是实际使用中脑子不太能转过弯来,希望有简单实际些的例子,谢谢

session是一个全局变量,也就是 你在一个网页上设置session 其他网页都能调用到这个session
然后 存储设置session 有专门的函数,想必 你知道
不同页面 保持登录状态,也就是所有页面都判断是否有 session,想必你觉得这岂不是很麻烦,呵呵,你可以 专门写一个php 判断session 然后 所有页面 include或者require去包含即可
至于 注销登录 就是 注销session 值
然后如何区分不同用户,这个是php内部会解决的,不用你担心,如果要说就是 每个session都有自动设置一个session_id,他对应不同用户。这个不用管
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-24
这个网站有session的视频教程,非常不错哦,看了就很明白了
第2个回答  2013-04-24
由于html是无法保持用户状态的,所以衍生出了cookie这种东西用来保存一些持久性数据。其原理就是在浏览器端保存一些数据,这些数据在访问者访问网页时浏览器会自动把cookie数据发送给服务端。 举个例子来说,cookie中保存了user=test,那么当你访问localhost/index.php时,user=test这个数据会被浏览器自动发送给index.php,然后index.php中就能通过$_COOKIE['user']得到'test'这个值。效果类似(但不等同于)localhost/index.php?user=test。

但是,由于cookie是保存在浏览器端的,所以存在安全性问题,这样就出现了session。session是保存在服务器端的数据,用户无法自行更改,因此更加安全。但是,session的运行也是需要cookie支持的。

当用户访问网页时,如果php中使用session_start()开始了一个session,但是会php会随机生成一个唯一的session_id,这个session_id会已cookie的形式保存在客户端。前面说过了,cookie数据在访问页面时会同时发送,因此php会通过cookie得到session_id,如果得不到就会创建一个新的session,否则就使用和session_id对应的session。cookie中用来保存session_id所使用的变量名称是可以通过修改php.ini文件改变的。

清理session,一种方式为将$_SESSION[]的值清空,如$_SESSION = array(),另一种就是sesssion_destroy(),后者其实就是将cookie中的session_id值去掉了。这样,当你再次访问页面时,因为php得不到可用的session_id,因此以前的session信息就对当前访问者不可见了。

session在服务器端可以以文件形式存储,或者保存在数据库中,是一个字符串的形式。默认是已文件方式存在的,php.ini中设置session文件的保存路径。

访问者和开发者一般都不需要知道session_id,你只要知道它是由php自动生成且唯一就行了。当然,你也可以使用session_id()方法得知当前session的id。

如果还有不理解的地方就追问吧。有用的话望采纳哦

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网