在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

變量的“追隨”:cookie與session

變量的“追隨”:cookie與session

更新時(shí)間:2022-05-14 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

在很多時(shí)候,我們需要跟蹤瀏覽者在整個(gè)網(wǎng)站的活動(dòng),對(duì)他們身份進(jìn)行自動(dòng)或半自動(dòng)的識(shí)別(也就是平時(shí)常說(shuō)的網(wǎng)站登陸之類的功能),這時(shí)候,我們常采用一組變量來(lái)“追隨”訪客。實(shí)現(xiàn)變量“追隨”有很多種方法,比較用得多的是cookie和session。下面我們用時(shí)下很流行的PHP為大家講解一下它們的使用。

一.Cookie的使用

  Cookie是網(wǎng)站保存在瀏覽器客戶端的信息,也就是說(shuō)保存在訪客的機(jī)器里的變量,一般隨著HTTP頭發(fā)送到客戶端。在Cookie生效之后及失效之前,客戶每次發(fā)出頁(yè)面請(qǐng)求的時(shí)候,都會(huì)把Cookie一塊發(fā)送到服務(wù)器,只要我們針對(duì)它進(jìn)行相應(yīng)的處理,就可以實(shí)現(xiàn)變量“追隨”。

1. 設(shè)置一個(gè)Cookie變量

  設(shè)置一個(gè)Cookie變量,PHP使用的函數(shù)是:

int setcookie(string name, string value, int expire,
string path, string domain, int secure);


  其中name是Cookie變量名稱標(biāo)識(shí),你在PHP中將可以象使用普通變量名一樣來(lái)用它引用Cookie變量。value是Cookie變量的初始值,expire 表示該Cookie變量的有效時(shí)間;path 為該Cookie變量的相關(guān)路徑;domain 表示Cookie變量的網(wǎng)站;secure 則需在 https 的安全傳輸時(shí)才有效。

  例如我們要設(shè)置一個(gè)變量username,它的值是字符串“bluewind”,我們可以這么寫代碼:

setcookie (“username”,“bluewind”); //這兩個(gè)參數(shù)是setcookie必要的。


  我們還想給這個(gè)變量設(shè)置有效時(shí)間來(lái)限制操作超時(shí)等,比如說(shuō)10分鐘:

setcookie (“username”,“bluewind”, 600000); //有效時(shí)間的單位是毫秒。


  注意:setcookie和header函數(shù)一樣,需要放在任何能向客戶端輸出的語(yǔ)句之前。

2. 銷毀一個(gè)變量

  銷毀Cookie變量只要將它的value設(shè)為空(“”)就可以了,如想銷毀上面那個(gè)變量只要再寫一次:

setcookie (“username” ,“”);


  就可以了。這常用作安全退出之用。

3. Cookie的有效范圍和生存期

  Cookie的有效范圍(也就是說(shuō)在這個(gè)范圍的頁(yè)面都能得到這個(gè)Cookie變量)默認(rèn)的是該目錄及其子目錄,當(dāng)然你可以用setcookie的path和domain參數(shù)進(jìn)行修改。如果你不對(duì)cookie的expire進(jìn)行設(shè)置(參見(jiàn)1. 設(shè)置一個(gè)Cookie變量中的例子),那么當(dāng)你離開(kāi)網(wǎng)站的頁(yè)面,cookie也同時(shí)得到自動(dòng)銷毀。

  http://www.netscape.com/newsref/std/cookie_spec.html是 cookie 原創(chuàng)者 Netscape 所提供的完整介紹信息。

二,session的使用

  session變量,也就是會(huì)話級(jí)變量,是訪客在整個(gè)和網(wǎng)站交互的過(guò)程中都存在的公有變量。在客戶端不支持有可能不支持cookie的時(shí)候(比如linux下的lynx……呵呵,慘了點(diǎn)),我們?yōu)榱吮WC數(shù)據(jù)正確安全,就需要采用session變量。Session在各種網(wǎng)頁(yè)語(yǔ)言中的實(shí)現(xiàn)方式不一樣,PHP在4.0后也開(kāi)始支持它了。首先,讓我們來(lái)看看一個(gè)簡(jiǎn)單的例子:


test.php
-----------
<?
session_start();
session_register(var); //注冊(cè)變量var
$var="這是SESSION變量的值"; //var變量已經(jīng)被作為session變量
?>
test1.php
------
<?
session_start();
session_register(var);
echo $var; //輸出:“這是SESSION變量的值”
?>



1、初始一個(gè)session

  如果PHP的設(shè)置自動(dòng)session并沒(méi)有開(kāi)啟的話,需要使用session_start()函數(shù)來(lái)初始化一個(gè)session,這個(gè)函數(shù)的用法如下:

: boolean session_start(void);


  它的作用是初始化一個(gè)新的 Session,若該客戶已在 Session 之中,則連上原 Session。本函數(shù)沒(méi)有參數(shù),且返回值均為 true。

2、在session中注冊(cè)一個(gè)變量

  你要在session保存的變量都必須使用下列函數(shù)對(duì)變量進(jìn)行注冊(cè):

boolean session_register(string name);


  本函數(shù)在全局變量中增加一個(gè)變量到目前的 Session 之中。參數(shù) name 即為欲加入的變量名。成功則返回true 值。

  然后你就可以直接使用變量名對(duì)它進(jìn)行賦值,這個(gè)值就會(huì)被保存下來(lái)。

3、使用session變量的值

  如上例所示,只要你再在新的頁(yè)面重復(fù)上兩個(gè)步驟(除了賦值外),就可以直接使用session變量。

4、session的銷毀

  如果你只是想注銷一個(gè)變量而不是摧毀整個(gè)變量的話,那需要使用函數(shù):

boolean session_unregister(string name);


  用法很簡(jiǎn)單,參數(shù) name 即為欲刪除的變量名。成功則返回 true 值。

  但是,如果要整個(gè)“摧毀”session變量的話,比如說(shuō)安全退出什么的,使用函數(shù):

boolean session_destroy(void);


  本函數(shù)結(jié)束目前的 Session。本函數(shù)沒(méi)有參數(shù),且返回值均為 true。

5、其它有用的session函數(shù)

a、 檢查變量是否注冊(cè)

boolean session_is_registered(string name);


  本函數(shù)可檢查目前的 Session 之中是否已有指定的變量注冊(cè)。參數(shù) name 即為欲檢查的變量名。成功則返回true 值。

b、 給注冊(cè)變量歸null

void session_unset(void);


  這個(gè)函數(shù)可以把當(dāng)然注冊(cè)的所有的session變量置為空。注意它不是unregister,也不同于destroy。 下面這個(gè)例子,對(duì)此函數(shù)做了很好的說(shuō)明。


<?php
session_register('a','b','c'); //auto-session-start
$a=1;
$b=2;
$c=3;
session_unregister('a'); //unregistrered $a
echo "A: $a - reg:".session_is_registered('a')." ";
// but the global $a remains
session_unset(); // unsets $b und $c
echo "B:$b - reg:".session_is_registered('b')." ";
// the registration remains !
echo "C:$c - reg:".session_is_registered('c')." ";
echo session_encode();
?>

輸出:
A: 1 - reg:
B: - reg:1
C: - reg:1
!b|!c|



c、定制你自己的session處理方法


void session_set_save_handler (string open, string close, string read,
string write, string destroy, string gc)



  這個(gè)函數(shù)可以定義用戶級(jí)的session的保存函數(shù)(打開(kāi)、關(guān)閉、寫入等)。比如,我們想把session保存在本地的一個(gè)數(shù)據(jù)庫(kù)中時(shí),本函數(shù)就很有用了。缺省情況下,每個(gè)session存貯在系統(tǒng)臨時(shí)目錄的一個(gè)個(gè)獨(dú)立文件中(例如在unix系統(tǒng)中為/tmp)。這適合或不適合,依你的需求而言。例如:如果你的支持php的web服務(wù)器分布在不同的機(jī)器上,你不能很容易地共享它們之間的session(當(dāng)然,你也可以將sessions保存在NFS共享中)。另一個(gè)潛在的問(wèn)題是你機(jī)器上的數(shù)千或數(shù)百萬(wàn)個(gè)session文件使你的文件系統(tǒng)變得散亂 。注意:這個(gè)函數(shù)是在4.0b4版本后才出現(xiàn)的。使用本函數(shù)前,先要配置php.ini文件,session.save_hadler=user ,否則,session_set_save_handler()不會(huì)生效。

  此外,根據(jù)我的測(cè)試,你如果想讓這樣的session跨頁(yè)面使用,還要在每一個(gè)用到session的腳本文件中加入你自定的函數(shù)及session_set_save_handler,所以,最好的方法是做成一個(gè)單獨(dú)的文件,在每一個(gè)要用到session的腳本中用include來(lái)包含進(jìn)來(lái)。

  下面這個(gè)例子提供了一個(gè)最基本的session保存法,類似于默認(rèn)的files方法。如果你想用數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn),這也是很容易做到的。


Example:session_set_save_handler() example
<?php
function open ($save_path, $session_name) {
global $sess_save_path, $sess_session_name;
$sess_save_path = $save_path;
$sess_session_name = $session_name;
return(true);
}
function close() {
return(true);
}
function read ($id) {
global $sess_save_path, $sess_session_name;
$sess_file = "$sess_save_path/sess_$id";
if ($fp = @fopen($sess_file, "r")) {
$sess_data = fread($fp, filesize($sess_file));
return($sess_data);
} else {
return("");
}

}

function write ($id, $sess_data) {
global $sess_save_path, $sess_session_name;
$sess_file = "$sess_save_path/sess_$id";
if ($fp = @fopen($sess_file, "w")) {
return(fwrite($fp, $sess_data));
} else {
return(false);
}
}
function destroy ($id) {
global $sess_save_path, $sess_session_name;
$sess_file = "$sess_save_path/sess_$id";
return(@unlink($sess_file));
}

/*********************************************
* WARNING - You will need to implement some *
* * sort of garbage collection routine here. *
* *********************************************/
function gc ($maxlifetime) {
return true;
}
session_set_save_handler
("open", "close", "read", "write", "destroy", "gc");
session_start();
// proceed to use sessions normally
// 現(xiàn)在你就可以象往常一樣地使用session了。

?>


溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 亚洲人视频在线| 亚洲综合欧美在线| 九九九久久久久久久| 天天碰免费视频| 欧美 国产 日本| 国产精品少妇在线视频| 国产精品50p| 国产成人精品无码播放| 欧美日韩第二页| 91最新在线观看| 向日葵污视频在线观看| 日本黄大片一区二区三区| 午夜精品中文字幕| caoporm在线视频| 黄色一级视频播放| av在线播放天堂| 免费在线观看的毛片| 天天综合网日韩| 天天干天天曰天天操| www.99riav| 欧美v在线观看| 最新中文字幕2018| 欧洲在线免费视频| 欧美不卡在线播放| 日本免费观看网站| 热久久最新地址| 国产美女三级视频| 一级黄色高清视频| 成人在线观看你懂的| 91欧美视频在线| 免费高清一区二区三区| 天天爽人人爽夜夜爽| 性欧美18一19内谢| 久久久免费视频网站| 一级黄色免费在线观看| 中文字幕乱码人妻综合二区三区 | 久久精品影视大全| 8x8ⅹ国产精品一区二区二区| 欧美日韩国产精品激情在线播放| 国产小视频精品| 免费一级特黄毛片| 午夜xxxxx| www.日日操| 久久这里只有精品18| 免费av不卡在线| av天堂永久资源网| 搞av.com| 欧美日韩激情四射| 久久精品久久99| av丝袜天堂网| 成人中文字幕在线播放| 白白操在线视频| 国产探花在线观看视频| 天天爽人人爽夜夜爽| 国产精品宾馆在线精品酒店| 免费成人深夜夜行网站视频| 不用播放器的免费av| 国产xxxxx视频| 黄色片久久久久| 欧美日韩国产精品激情在线播放| 国产精品69久久久| 青春草国产视频| 阿v天堂2018| 欧美性潮喷xxxxx免费视频看| 日韩最新中文字幕| 99re8这里只有精品| 裸体裸乳免费看| 免费久久久久久| 日韩 欧美 自拍| 好吊色视频988gao在线观看| 毛片毛片毛片毛片毛| 手机在线视频你懂的| 欧美与动交zoz0z| 糖心vlog在线免费观看| 日本一区二区免费高清视频| 麻豆md0077饥渴少妇| 免费的一级黄色片| 欧美深夜福利视频| 18岁视频在线观看| 鲁一鲁一鲁一鲁一av| 亚洲 欧洲 日韩| 成人一级生活片| 播放灌醉水嫩大学生国内精品| 少妇高潮喷水久久久久久久久久| 亚洲成熟丰满熟妇高潮xxxxx| 中文字幕国内自拍| 免费黄频在线观看| 青青青青在线视频| 亚洲高清在线免费观看| 99re99热| 男人舔女人下面高潮视频| 红桃视频 国产| 精品无码国模私拍视频| 91激情视频在线| 欧美做暖暖视频| 无码人妻丰满熟妇区毛片| 尤物国产在线观看| 免费视频爱爱太爽了| 香蕉视频网站入口| 成人在线观看毛片| 日本熟妇人妻中出| 黄色成人在线免费观看| 冲田杏梨av在线| 777av视频| 国产女同无遮挡互慰高潮91| 一本久道高清无码视频| 五月婷婷之婷婷| 国产中文字幕在线免费观看| 国产在线观看中文字幕| 欧美少妇性生活视频| 日本大胆人体视频| 在线观看免费的av| 爱福利视频一区二区| 91精品一区二区三区四区| 日韩av手机版| 人妻熟妇乱又伦精品视频| 久久最新免费视频| 深爱五月综合网| 黄色永久免费网站| 日韩中文字幕组| 97国产在线播放| 欧美一区二区视频在线播放| 日韩欧美中文视频| 国产永久免费网站| 不用播放器的免费av| 超碰影院在线观看| 久久精品网站视频| 激情内射人妻1区2区3区| 黄色免费福利视频| 香港三级韩国三级日本三级| 国产精品入口芒果| 人妻无码久久一区二区三区免费| www国产免费| 日韩成人三级视频| 欧美中文字幕在线观看视频 | 黄色三级视频在线| 成人3d动漫一区二区三区| 熟女人妇 成熟妇女系列视频| 北条麻妃在线视频观看| 久久美女福利视频| 日本a√在线观看| 在线免费看污网站| 在线一区二区不卡| 国产欧美综合一区| 成年女人18级毛片毛片免费| 欧美亚洲黄色片| 中文字幕无码不卡免费视频| 五月婷婷深爱五月| 精产国品一二三区| 日韩国产一级片| 91香蕉视频污版| 日韩视频在线免费播放| 91动漫在线看| jizzjizzxxxx| 亚洲第一精品区| 中文字幕无码精品亚洲35| 免费黄色一级网站| 91麻豆天美传媒在线| 国产资源在线视频| 欧美成人乱码一二三四区免费| 欧美三级午夜理伦三级老人| 国产h视频在线播放| 日本在线观看免费视频| 激情成人开心网| 国产精品人人妻人人爽人人牛| 特级西西444www| 无码精品a∨在线观看中文| 午夜在线观看av| 欧美精品久久久久久久免费| 国产精品一区二区小说| 精品无码国产一区二区三区av| 免费看污污网站| 天堂8在线天堂资源bt| 91亚洲免费视频| 欧美a在线视频| 永久免费在线看片视频| 亚洲福利精品视频| 精品少妇一区二区三区在线| 四虎精品欧美一区二区免费| 激情视频免费网站| 夫妻免费无码v看片| 日本成人在线不卡| 永久av免费在线观看| 爱情岛论坛vip永久入口| av动漫在线看| 国产综合中文字幕| 91网站在线观看免费| 亚洲在线观看网站| 91 视频免费观看| 精品亚洲一区二区三区四区| 美女福利视频在线| 国产精品免费入口| 日韩av高清在线看片| 国产高清www| 国产女主播av| 欧美黄网在线观看| 激情五月婷婷六月| 国产 日韩 亚洲 欧美| 日本aa在线观看| 成人免费毛片在线观看|