久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

php session的應用詳細介紹

這篇文章主要介紹了php session的應用詳細介紹的相關資料,需要的朋友可以參考下

php session高級應用

session在web技術中非常重要,由于網頁是一種無狀態的連接程序,因此無法得知用戶的瀏覽狀態。通過session則可以記錄用戶的有關信息,以供用戶再次以此身份對web服務器提交要求時確認。

例如:用戶在瀏覽電子商務網站的時候,如果沒有session,那么用戶每次瀏覽就需要輸入賬戶密碼。

1,Session 臨時文件

在服務器中,如果將用戶所有的Session都保存到臨時目錄中,會降低服務器的安全性和效率。打開服務器存儲的站點會非常的慢。

使用PHP函數session_save_path()函數存儲Session臨時文件,可以緩解因臨時文件的存儲導致的服務器效率降低和站點打開緩慢的問題。

示例代碼如下:

<?php
$path ="./tmp/";    //設置session存儲的路徑
session_save_path($path);
session_start();
$_SESSION['userName']=true;
?>

注意

session_save_path() 必須在session_start() 之前執行。

2,Session 緩存

Session 緩存是將網頁中的內容臨時存儲到IE客戶端的Temporary INternet Files文件夾,并且可以設置緩存的時間。

Session的緩存使用的是 session_cache_limiter()函數,其語法如下:

string session_cache_limiter([string cache_limiter]); 


其中參數cache_limiter 為public 或private 。同事session不是在服務器端,而是在客戶端。在服務器中沒有顯示。

緩存時間的設置,使用的是函數 session_cache_expire()語法如下:

int session_cache_expire([int new_cahche_expire]); 


參數new_cahche_expire 是session緩存的時間數字,單位分鐘。

注意:

這兩個session函數必須在session_start()函數之前執行

session 緩存頁面的示例代碼如下:

<?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();

?>

運行結果如下:

3,Session數據庫存儲

在php中Session 的數據庫存儲主要是通過 session_set_save_handler()函數來實現的。 具體語法如下:
bool session_set_save_handler(string open,string close,string read,string write,string destroy,string gc);


下面分別將這6個參數(函數)分裝起來,在學習完面向對象編程后,大家會有一個更加清晰的認識。

(1) 封裝session_open()函數,代碼如下:

function _session_open($save_path,$session_name){
global $handle;
$handle =mysql_connect('localhost','root','root')or die('數據庫連接失?。?);
mysql_select_db('db_database11',$handle)or die('數據庫不存在');
return(true);
}

(2)封裝session_close()函數,代碼如下:

function _session_close(){
global $handle;
mysql_close($handle);
return(true);
}

(3) 封裝 session_read()函數,在函數中設定當前時間的UNIX時間戳,根據$key查找Session名片及內容。代碼如下:

function _session_read($key){
golbal $handle;     //全局變量$handle 連接數據庫
$time =time();     //設定當前時間
$sql ="select session_data from tb_session where session_key = '$key' and session_time>'$time'";
$result =mysql_query($ssql,$handle);
$row =mysql_fetch_array($result);
if($row){
return($row['session_data']);
}else{
return(false);
}
}

(4) 封裝session_write()函數,函數設定Session的失效時間,查找到Session的名稱及內容,如果查詢結果為空。則將頁面中Session根據session_id,session_name,失效時間,插入數據庫中。如果查詢結果不為空,則根據 $key修改數據庫中Session存儲信息。代碼如下:

function _session_write($key,$data){
global $handle;
$time = 60*60;
$lapse_time =time()+$time;   //得到UNIX時間戳
$sql = "select session_data from tb_session where session_key ='$key' and session_time>$lapse_time";
$result =mysql_query($sql,$handle);
if(mysql_num_rows($result)==0){  //沒有結果
$sql ="insert into tb_session values('$key','$data',$lapse_time)";
$result =mysql_query($sql,$handle);
}else{
$sql ="update tb_session set session_key='$key',session_data ='$data',session_time =$lapse_time where session_key ='$key'";
$result =mysql_query($sql,$handle);
}
return($result);
}
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了PHP有序表查找之插值查找算法,簡單分析了插值查找算法的概念、原理并結合實例形式分析了php實現針對有序表插值查找的相關操作技巧,需要的朋友可以參考下
下面小編就為大家分享一篇ThinkPHP整合datatables實現服務端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP實現APP微信支付的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP實現的多維數組排序算法,結合實例形式對比分析了php針對多維數組及帶有鍵名的多維數組進行排序相關操作技巧與注意事項,需要的朋友可以參考下
這篇文章主要為大家詳細介紹了php結合ajaxuploadfile實現無刷新文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本篇文章給大家詳細介紹了PHP開發接口使用RSA進行加密解密方法,對此有興趣的朋友可以學習下。
主站蜘蛛池模板: 欧美日韩一区在线播放 | 亚洲天天 | 欧美日韩一 | 人妖videosex高潮另类 | 免费观看成人鲁鲁鲁鲁鲁视频 | 色精品视频 | 亚洲精品一区二区三区在线 | 国产欧美日韩一区二区三区在线 | 久久福利网站 | 国产高清在线精品一区二区三区 | 日本成人三级电影 | 黄色一级毛片 | 在线免费观看成人 | 欧洲精品一区 | 一级特黄色毛片 | 最新午夜综合福利视频 | 成人精品国产 | 午夜午夜精品一区二区三区文 | 亚洲综合免费 | 91久久国产综合久久 | 夜久久| 免费在线观看h片 | 国产免费一区 | 国产美女黄色 | 国产日韩一区二区 | 日韩网站在线 | 日韩毛片免费看 | 99精品九九 | 亚洲国产高清高潮精品美女 | 2019天天干夜夜操 | 91久久 | 依人成人 | 欧美日韩国产一区二区 | 成人在线免费视频 | 草久久| 91麻豆精品一区二区三区 | 日本中出视频 | 免费99精品国产自在在线 | 国产视频1区 | 美日韩免费视频 | 精品乱子伦一区二区三区 |