兰州招聘seo:谁能帮我解开对于ASP中session的困惑?

来源:百度文库 编辑:中科新闻网 时间:2024/05/06 11:29:00
我刚学ASP就是搞不懂session的用法,一般在什么情况下,或者什么时候用session呢?session具体是什么意思呢?有什么作用呢?

从实现上来讲,Session其实是通过Cookie来实现的,主要用于保存当前会话用户的一些信息,好像Session保存的数据类型一般都是字符串类型的。

比如你要保存当前登陆的用户的用户名:
可以这样
Session("CurrentUserName") = "当前登陆者的用户名"
然后在会话超时时间内,在该站点的任何asp页面,都可以通过
Session("CurrentUserName")来获取当前登陆的用户的用户名。

当然你也可以用来保存其它的数据,比如用户权限等级之类的

需要在不同页面中,尤其是在整个网站中传递变量时要用到Session。不过需要注意的是,Session只对一个用户起作用。对于不同的用户之间传递变量是用application变量。

Session变量就可以存一些资源变量在服务器上面。PHP4用文件存储Session变量,但理论上可以用数据库或共享内存来做这件事。

所有的页面都用PHP4的Session必须用Session_start()功能函数来告诉PHP4引擎来取有关的Session到内存中

。函数Session_start()可以在cookie域里或请求的参数中取得Session_id为了响应http请求。如果不能找到

SessionID就新建一个Session。

什么是Session变量?
Session变量是个有规律的全局变量,当一个Session变量被注册,用PHP4可以在所有的页面上得到Session

的值。用Session_register("variable_name")可以注册一个Session变量。在所有并发的的用Session就使用

Session_start()函数,变量的值将作为一个Session变量注册为Session。

我们能作什么?
通常有很多的方法来管理Session和Session变量,我将给你个例子。说你将建一个商业站点,象我这样的,

你可能想保持已经被承认的用户当前的名字,或有多少的新消息用户已经得到。为了不在从数据库里读取,你

有两个方法可以做:
1.1.你可以用三个cookie
。authenticated_user - 当前的用户名称
。num_messages - 他得到的信息的数量
。expire_time - 何时重新读取信息数量
2.2.用sessions和新建三个session变量
第一个方法安全性不好,一些人可以得到cookie进入他人的领域。
用sessions用户仅得到一个cookie,安全的多。

缺点

session给了你自由,过度的用session会影响脚本语言的使用。虽然PHP4的session有些限制,如你不能存对象

在session里。

自己试一试吧!