客戶端數(shù)據(jù)存儲(chǔ)機(jī)制cookie

公司主營(yíng)業(yè)務(wù):做網(wǎng)站、成都做網(wǎng)站、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出大名免費(fèi)做網(wǎng)站回饋大家。
在實(shí)際的Web應(yīng)用中經(jīng)常需要在客戶端存儲(chǔ)一些客戶信息 一方面是為了改善用戶體驗(yàn)(如存儲(chǔ)訪問(wèn)密碼 歷史表單信息) 另一方面有效地減輕了服務(wù)器數(shù)據(jù)讀取壓力 訪問(wèn)者在第一次訪問(wèn)頁(yè)面時(shí)設(shè)置cookie變量是存儲(chǔ)在客戶端計(jì)算機(jī)中 當(dāng)下次瀏覽器請(qǐng)求某個(gè)頁(yè)面時(shí) 就可以讀取cookie中存儲(chǔ)的值 從而實(shí)現(xiàn)客戶端數(shù)據(jù)存取
下面將通過(guò)一個(gè)例子展示一個(gè)客戶端數(shù)據(jù)存儲(chǔ)的實(shí)際應(yīng)用 執(zhí)行流程如下
( )創(chuàng)建一個(gè)存儲(chǔ)訪問(wèn)者名字的cookie;
( )當(dāng)訪問(wèn)者首次訪問(wèn)網(wǎng)站時(shí) 訪問(wèn)者會(huì)被要求填寫(xiě)姓名信息 該姓名信息會(huì)存儲(chǔ)于cookie中
( )當(dāng)訪問(wèn)者再次訪問(wèn)網(wǎng)站時(shí)瀏覽器會(huì)顯示歡迎詞信息
在JavaScript創(chuàng)建cookie
創(chuàng)建一個(gè)可在cookie變量中存儲(chǔ)訪問(wèn)者姓名的函數(shù) 代碼如下
function setCookie(c_name value expiredays)
{
var exdate=new Date()???????????????????????? //實(shí)例化日期變量
exdate setDate(exdate getDate()+expiredays)?? //設(shè)置日期變量
document cookie=c_name+ = +escape(value)+
((expiredays==null) ? : ;expires= +exdate toGMTString())
}
【代碼解讀】
setCookie()函數(shù)的功能是設(shè)置cookie的名稱(chēng) 值及失效時(shí)間 首先將獲取當(dāng)前的日期轉(zhuǎn)換為有效的日期 然后設(shè)置cookie名稱(chēng) 值及失效時(shí)間 并將該值存入document cookie對(duì)象
從JavaScript取回cookie的值
從JavaScript取回cookie的值 創(chuàng)建讀取客戶端cookie值的函數(shù) 同時(shí)判斷當(dāng)前cookie的狀態(tài) 代碼如下
function getCookie(c_name)
{
if (document cookie length )?????????????????? //判斷當(dāng)前cookie是否為空
{
c_start=document cookie indexOf(c_name + = )
if (c_start!= )
{
c_startc_start=c_start + c_name length+
c_end=document cookie indexOf( ; c_start)
if (c_end== ) c_end=document cookie length
return unescape(document cookie substring(c_start c_end))
//返回客戶端cookie的值
}
}
return
}
【代碼解讀】
getCookie()函數(shù)首先會(huì)判斷document cookie對(duì)象中是否存有cookie 如果document cookie對(duì)象存有某些cookie值 那么會(huì)繼續(xù)檢查指定的cookie是否已儲(chǔ)存 如果滿足判斷條件就返回cookie存儲(chǔ)值 否則返回空字符串
JavaScript流程控制
當(dāng)完成了cookie的創(chuàng)建和讀取之后 需要?jiǎng)?chuàng)建一個(gè)流程控制函數(shù) 這個(gè)函數(shù)的作用是 如果cookie已設(shè)置 則顯示歡迎詞 否則顯示提示框要求用戶輸入名字
function checkCookie() {
username=getCookie( username )????????????????? //獲得cookie中的用戶名變量
if (username != null username != ) {
alert( Wele again +username+ ! )??? //彈出歡迎信息
} else {
username=prompt( Please enter your name: )
if (username != null username != ) {
setCookie( username username )? //設(shè)置cookie
}
}
}
客戶端數(shù)據(jù)存儲(chǔ)示例的完整代碼如下
lishixinzhi/Article/program/PHP/201311/21526
//第一種?
?php
$conn?=?mysql_connect("主機(jī)名","用戶名","密碼");
mysql_select_db("數(shù)據(jù)庫(kù)名",$conn);
$sql?=?"select?*?from?user";
$result?=?mysql_query($sql);
$data="";
while($row?=?mysql_fetch_row($result)){
foreach($row?as?$v){
$data?.=$v."|";??????//加個(gè)樹(shù)線隔開(kāi)字段
}
nl2br($data);????//讀完一行回車(chē)
}
file_put_contents("abc.txt",$data);
//第二種
?php
$filename?=?"abc.txt";
$res?=?fopen($filename,"r");
while(!feof($res)){
$buffer?=?fgets($res);
$buffer?=?str_replace('?',?'|',?$buffer);?
$array?=?explode('|',?$buffer);?
foreach($array?as?$v){
if(strlen($v)0){
$arr[]?=?$v;
}
}
}
fclose($res);
//組裝數(shù)組插入數(shù)據(jù)庫(kù)就可以了
可以的。
先用serialize序列化數(shù)組,再存入COOKIE,讀出來(lái)時(shí)用unserialize得到原來(lái)的數(shù)組
代碼:
//存入
$arr = array(1,2,3);
$arr_str = serialize($arr);
setcookie("a",$arr_str);
//取出
$arr_str = $_COOKIE['a'];
$arr = unserialize($arr_str);
2. 設(shè)定多鍵值cookie,注意必須給鍵值
$arr = array(1,2,3);
setcookie("a[0]", $arr[0]);
setcookie("a[1]", $arr[1]);
setcookie("a[2]", $arr[2]); 結(jié)果:數(shù)組所有元素都存到了。
數(shù)組長(zhǎng)度 :3
Array ( [0] = 1 [1] = 2 [2] = 3 )
PHP有自帶的高性能函數(shù) var_export
conn.php
?php
$dbconfig = array (
'host'='127.0.0.1',
'name'='root',
'password'='123456',
?
b.php
?php
// 讀取配置
include 'conn.php';
echo $dbconfig['host'];
// 修改配置
$dbconfig['host'] = 'xxx.xxx.xxx.xxx';
file_put_contents('conn.php', "?php\n$dbconfig = " . var_export($dbconfig) . "\n?");
// 再讀取配置
include 'conn.php';
echo $dbconfig['host'];
?
參考連接:
名稱(chēng)欄目:php數(shù)據(jù)存儲(chǔ)代碼 PHP數(shù)據(jù)
標(biāo)題來(lái)源:http://chinadenli.net/article14/hhjpge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站、用戶體驗(yàn)、網(wǎng)站設(shè)計(jì)公司、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)