会话怎么正确的在php中应用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
<强> php会话高级应用强>
会话在web技术中非常重要,由于网页是一种无状态的连接程序,因此无法得知用户的浏览状态。通过会话则可以记录用户的有关信息,以供用户再次以此身份对web服务器提交要求时确认。
例如:用户在浏览电子商务网站的时候,如果没有会话,那么用户每次浏览就需要输入账户密码。
<强> 1,会话临时文件强>
在服务器中,如果将用户所有的会话都保存到临时目录中,会降低服务器的安全性和效率。打开服务器存储的站点会非常的慢。
使用php函数session_save_path()函数存储会话临时文件,可以缓解因临时文件的存储导致的服务器效率降低和站点打开缓慢的问题。
示例代码如下:
& lt; php ? path 美元;=啊?tmp/,,,,,,//设置会话存储的路径 session_save_path(路径); session_start (); $ _SESSION[& # 39;用户名# 39;]=true; ?在
注意
session_save_path()必须在session_start()之前执行。
<强> 2,会话缓存强>
会话缓存是将网页中的内容临时存储到IE客户端的临时文件夹文件夹,并且可以设置缓存的时间。
会话的缓存使用的是session_cache_limiter()函数,其语法如下:
string session_cache_limiter ([string cache_limiter]);
其中参数cache_limiter为公共或私人。同事会话不是在服务器端,而是在客户端。在服务器中没有显示。
缓存时间的设置,使用的是函数session_cache_expire()语法如下:
int session_cache_expire ([int new_cahche_expire]);
参数new_cahche_expire是会话缓存的时间数字,单位分钟。
<强>注意:
强>
这两个会话函数必须在session_start()函数之前执行
会话缓存页面的示例代码如下:
& lt; php ? session_cache_limiter (“private"); $ cache_limit =session_cache_limiter();,,,//开启客户端缓存 echo “缓存限制为:“。cache_limit美元霸主地位;\ n"; session_cache_expire (30); $ cache_expire =, session_cache_expire();,,//设定客户端缓存时间 echo “客户端缓存时间为:“。cache_expire美元霸主地位;分钟\ n"; session_start (); ?在
运行结果如下:
function _session_open (save_path, session_name美元){ global 美元处理; handle 美元;=mysql_connect (& # 39; localhost # 39; & # 39;根# 39;,& # 39;根# 39;)或死亡(& # 39;数据库连接失败! & # 39;); mysql_select_db (& # 39; db_database11& # 39;,处理美元)或死亡(& # 39;数据库不存在& # 39;); 返回(真正的); }
(2)封装session_close()函数,代码如下:
function _session_close () { global 美元处理; mysql_close(处理); 返回(真正的); }
(3)封装session_read()函数,在函数中设定当前时间的UNIX时间戳,根据美元关键查找会话名片及内容。代码如下:
function _session_read(键){ golbal 美元处理,,,,,,//全局变量handle 美元;连接数据库 time 美元;=时间(),,,,,,//设定当前时间 $ sql =皊elect session_data 得到tb_session where session_key =, & # 39;关键# 39;美元,以及session_time> & # 39; $时间# 39;“; $ result =mysql_query (ssql美元,美元处理); row 美元;=mysql_fetch_array(结果); 如果美元(行){ 返回($ row [& # 39; session_data& # 39;]); 其他}{ 返回(假); } }会话怎么正确的在php中应用