源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

深入理解PHP中的Session和Cookie

  • 时间:2022-02-17 08:48 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:深入理解PHP中的Session和Cookie
在一个页面设置一个cookie时,必须刷新或到下一个页面才可以用 $_COOKIE 得到变量的值. 原因是因为当页面第一次被浏览器访问载入时,页面中的 cookie 会被设置,将其发送存储到客户端指定的存储位置,所以$_COOKIE没有接收到客户端发送过来的 cookie 变量的值,当刷新或到下一个页面时,客户端会在页面程序在服务器端运行之前,发送与该地址相对应的 cookie到服务器端,所以 $_COOKIE 可以得到的值! 说白了就是当每一个页面被访问时,如果客户端找到了与访问地址相对应的 cookie 时,会在程序在服务器端运行之前发送这个 cookie 到服务器端. (个人对此的看法) [b]本人表达能力不强,如有不明,还请抱歉! php中设置cookie数组的时候,不可以用像php中的那个添加数据的方法: [/b]
[url=3.php]?>
[b]会话id(session_id)的两种方式传递: 1.cookie 2.url [/b]因为默认session是基于cookie的,而cookie又是跟随http协议发送的,所以与cookie一样,在 session_start()之前不能有任何输出! 现在主要说一说第二种,通过 url 传递会话id php中已经定义SID这个常量来得到 会话的id sesssin_id 的使用!
[url=2.php?]?>
1.php的第4行代码也可以写成:echo '<a href="2.php">下一页</a>'; 可以设置php.ini 中的 session.use_trans_sid 为1,这样当使用 url 传递会话 id 时, 浏览器会自动将 session_id 追加到 url 的后面! 就好像 在浏览器中 输入: www.baidu.com 一样,浏览器会自动将其更换成 http://www.baidu.com/ 2.php
[b]常用session函数: [/b]
[u]复制代码[/u] 代码如下:
bool   session_start(void); 初始化session bool   session_destroy(void): 删除服务器端session关联文件。 string session_id() 当前session的id string session_name() 当前存取的session名称,也就是客户端保存session ID的cookie名称.默认 PHPSESSID。 array session_get_cookie_params() 与这个session相关联的session的细节. string session_cache_limiter() 控制使用session的页面的客户端缓存 ini    session_cache_expire() 控制客户端缓存时间 bool   session_destroy()     删除服务器端保存session信息的文件 void   session_set_cookie_params ( int lifetime [, string path [, string domain [, bool secure [, bool httponly]]]] )设置与这个session相关联的session的细节 bool session_set_save_handler ( callback open, callback close, callback read, callback write, callback destroy, callback gc )定义处理session的函数,(不是使用默认的方式) bool session_regenerate_id([bool delete_old_session]) 分配新的session id 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部