php.ini配置文件中有一组会话配置选项,可以对其进行设置。如下:
session.auto_start = 0 ; 在请求启动时初始化session
session.cache_expire = 180 ; 为缓存中的会话文档在 n 分钟后过时
session.cookie_lifetime = 0 ; 为按秒记的cookie的保存时间, 或为0时表示直到浏览器被重启
1、设置php.ini中的session.use_trans_sid = 1或者编译时打开打开了--enable-trans-sid选项,让PHP自动跨页传递session id。
2、手动通过URL传值、隐藏表单传递session id。
3、用文件、数据库等形式保存session_id,在跨页过程中手动调用。
第一种情况
page1.php
客户端禁用了cookie。
浏览器出现问题,暂时无法存取cookie
php.ini中的session.use_trans_sid = 0或者编译时没有打开--enable-trans-sid选项
1、unset ($_SESSION[‘xxx’]) 删除单个session,unset($_SESSION[‘xxx’]) 用来unregister一个已注册的session变量。其作用和session_unregister()相同。
cookie
URL 参数 会话模块支持这两种方法。
cookie 更优化,但由于不总是可用,也提供替代的方法。
要使一个会话变量在某个范围内可以使用,必须首先使用session_start()函数启动一个会话。这样,就可以通过$_SESSION超级全局数组访问这个变量了。
如: echo $_SESSION[‘myvar’];
一个变量是否是注册的会话变量。
if(isset($_SESSION[‘myvar’]))
……
Page1.php
<?php
PHP5使用$_SESSION[‘xxx’]=xxx注册SESSION全局变量。和GET,POST,COOKIE的使用方法相似。
开始一个会话(1)
Session_start() :开始一个会话或者返回已经存在的会话。
Session应用1
通过SESSION(cookie是另外一种解决办法)记录用户的有关信息,以供用户再次以此身份对web服务器提起请求时作确认。会话的发明使得一个用户在多个页面间切换时能够保存他的信息。网站编程人员都有这样的体会,每一页中的变量是不能在下一页中使用的(虽然form,url也可以实现,但这都是非常不理想的办法),而SESSION中注册的变量就可以作为全局变量使用了。
Cookie注意事项
1、SetCookie()之前不能有任何html输出,就是空格,空白行都不行。
2、SetCookie()后,你在当前页调用echo $_COOKIE[“name”]不会有输出。必须刷新或到下一个页面才可以看到Cookie值。
17 小时 11 分钟之前
17 小时 12 分钟之前
21 小时 15 分钟之前
21 小时 15 分钟之前
21 小时 58 分钟之前
22 小时 24 分钟之前
22 小时 26 分钟之前
1 天 2 小时之前
1 周 1 小时之前
1 周 3 天之前