PHP基础教程_会话控制.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PHP基础教程_会话控制

session_name session_name() 返回当前session的name或改变当前session的name。 如果要改变当前session的name,必须在session_start()之前调用该函数。注意:session_name不能只由数字组成,它至少包含一个字母。否则会在每时每刻都生成一个新的session id. session改名示例: <?php $previous_name = session_name(WebsiteID); session_start(); echo 新的session名为: $previous_name<br />; ?> session跨页传递问题 session跨页传递需要考虑三种情况: 客户端禁用了cookie。 浏览器出现问题,暂时无法存取cookie php.ini中的session.use_trans_sid = 0或者编译时没有打开--enable-trans-sid选项 解决session跨页传递问题的三条途径 1、设置php.ini中的session.use_trans_sid = 1或者编译时打开打开了--enable-trans-sid选项,让PHP自动跨页传递session id。 2、手动通过URL传值、隐藏表单传递session id。 3、用文件、数据库等形式保存session_id,在跨页过程中手动调用。 解决会话传递问题 page1.php <?php session_start(); $_SESSION[‘var1’]=“中华人民共和国”; $url=“<a href=‘s2.php’>下一页</a>”; echo $url; ?> page2.php <?php session_start(); echo “传递的session变量var1的值:”.$_SESSION[‘var1’]; ?> 现在你手动关闭客户端的cookie,再运行就得不到结果了 第一种途径 设置php.ini中的session.use_trans_sid = 1 编译时打开打开了--enable-trans-sid选项” 注:Linux适用,Windows不适用 第二种途径 s1.php <?php session_start(); $_SESSION[‘var1’]=“中华人民共和国”; $sn = session_id(); $url=“<a href=s2.php?sid=$sn>下一页</a>”; //PHP5定义了一个常量SID来表示session_id(),$url还可以写成$url=“<a href=page2.php?” . SID . “>下一页</a>”; echo $url; ?> s2.php <?php session_id($_GET[sid]); session_start(); echo 传递的session变量var1的值为:.$_SESSION[var1]; ?> 第三种途径 s1.php <?php session_start(); $_SESSION[‘var1’]=“中华人民共和国”; $sn = session_id(); $fp=fopen(e:\tmp\phpsid.txt,w+); fwrite($fp,$sn); fclose($fp); $url=“<a href=s2.php>下一页</a>”; echo $url; ?> s2.php <?php $fp=fopen(e:\tmp\phpsid.txt,r); $sid=fread($fp,1024); fclose($fp); session_id($sid); session_start(); echo 传递的session变量var1的值为:.$_SESSION[var1]; ?> 注销变量 1、unset ($_SESSION[‘xxx’]) 删除单个session变量,unset($_SESSION[‘xxx’]) 用来unregister一个已注册的session变量。其作用和session_unregister()相同。session_unregister()在PHP5中不再使用。 注:unset($_SESSION) 此函数千万不可使用,它会将全局变量$_SESSION销毁,而且还没有可行的办法将其恢复。用户也不再可以注册$_SESSION变量。 2、$_SESSION=array() 删除多个session变量 3、session_unset() 删除所有session变量 销毁会话 session_destroy()结束

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档