色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php cookie 作用范圍不要在當(dāng)前頁面使用你的cookie

因?yàn)樵诒镜販y(cè)試完全沒有問題,所以ssh到遠(yuǎn)程服務(wù)器上(不是發(fā)布服務(wù)器,建議不要直接在Publish Server上直接改東西),進(jìn)行了一下斷點(diǎn)的測(cè)試,最后發(fā)現(xiàn)是一個(gè)比較復(fù)雜的邏輯中有個(gè)函數(shù)在構(gòu)造函數(shù)中調(diào)用了登陸驗(yàn)證。沒有驗(yàn)證通過所以就跳走了。
下面我們通過程序來看一下php cookie的使用,也許你看完上面那段還納悶,這個(gè)和cookie有什么聯(lián)系呢?
大體說一下在我們的MVC結(jié)構(gòu)中所用的登陸驗(yàn)證:
在controller中的構(gòu)造函數(shù)用有一個(gè)專門驗(yàn)證登陸的函數(shù),根據(jù)模塊是否需要登陸驗(yàn)證來加如此函數(shù)。
bug程序:在setcookie后,當(dāng)前頁面進(jìn)行了登陸驗(yàn)證。
bug原因:當(dāng)前頁面是獲得不了在此頁剛剛設(shè)置的cookie的
下面我們來用程序測(cè)試一下:
這里是一個(gè)設(shè)置cookie的函數(shù),我們現(xiàn)在用的,偷懶了 呵呵
復(fù)制代碼 代碼如下:
function dsetcookie($var, $value, $life = 0) {
global $_cookie_domain, $_cookie_path, $_timestamp, $_SERVER;
setcookie($var, escape($value), $life ? $_timestamp + $life : 0,
$_cookie_path, $_cookie_domain, $_SERVER['SERVER_PORT'] == 443 ? 1 : 0);
}

然后建立test1.php,內(nèi)容如下:
復(fù)制代碼 代碼如下:
<?php
$td = date('d');
dsetcookie("testvar",$td,30*24*60*60);
print_r($_COOKIE);
?>

將會(huì)得到一個(gè)空的數(shù)組array();
那我們?cè)谠O(shè)置完后什么時(shí)候才能第一次使用這個(gè)$_COOKIE變量呢?
現(xiàn)在我們把test1.php這個(gè)程序稍微改動(dòng)一下:
復(fù)制代碼 代碼如下:
<?php
$td = date('d');
dsetcookie("testvar",$td,30*24*60*60);
print_r($_COOKIE);//這個(gè)要注釋掉 要不然會(huì)報(bào)header警告
$location = "test2.php";
header("Location: ".$location);
?>

然后我們?cè)趖est2.php中來顯示$_COOKIE看一下
復(fù)制代碼 代碼如下:
<?php
print_r($_COOKIE);
?>

這里我們將會(huì)得到:
Array
(
[testvar] =10
)
這里就能夠獲得并使用這個(gè)cookie值了。
為什么呢?
你可以這么理解:當(dāng)前設(shè)置的Cookie不是立即生效的,而是要等到下一個(gè)頁面時(shí)才能看到.
這是由于在設(shè)置的這個(gè)頁面里Cookie由服務(wù)器傳遞給客戶瀏覽器,在下一個(gè)頁面瀏覽器才能把Cookie從
客戶的機(jī)器里取出傳回服務(wù)器的原因。

先寫到這里:

你可以通過下面的幾個(gè)鏈接更加深入的了解一下COOKIE

php COOKIE及其使用

NETscape公司關(guān)于Cookie的官方原始定義的網(wǎng)址:http://www.NETscape.com/newsref/std/cookie_spec.html

php技術(shù)php cookie 作用范圍不要在當(dāng)前頁面使用你的cookie,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 察隅县| 弥勒县| 巴青县| 阜新| 新邵县| 襄垣县| 财经| 上思县| 巴青县| 南京市| 文安县| 合作市| 延川县| 舒兰市| 塘沽区| 简阳市| 遵化市| 靖安县| 高州市| 甘肃省| 磴口县| 镇平县| 孟连| 肇东市| 登封市| 册亨县| 武鸣县| 徐闻县| 余姚市| 将乐县| 连山| 晋宁县| 郎溪县| 都江堰市| 包头市| 东兰县| 定边县| 专栏| 永嘉县| 茶陵县| 来凤县|