四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

php cookie 作用范圍不要在當前頁面使用你的cookie

因為在本地測試完全沒有問題,所以ssh到遠程服務器上(不是發布服務器,建議不要直接在Publish Server上直接改東西),進行了一下斷點的測試,最后發現是一個比較復雜的邏輯中有個函數在構造函數中調用了登陸驗證。沒有驗證通過所以就跳走了。
下面我們通過程序來看一下php cookie的使用,也許你看完上面那段還納悶,這個和cookie有什么聯系呢?
大體說一下在我們的MVC結構中所用的登陸驗證:
在controller中的構造函數用有一個專門驗證登陸的函數,根據模塊是否需要登陸驗證來加如此函數。
bug程序:在setcookie后,當前頁面進行了登陸驗證。
bug原因:當前頁面是獲得不了在此頁剛剛設置的cookie的
下面我們來用程序測試一下:
這里是一個設置cookie的函數,我們現在用的,偷懶了 呵呵
復制代碼 代碼如下:
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,內容如下:
復制代碼 代碼如下:
<?php
$td = date('d');
dsetcookie("testvar",$td,30*24*60*60);
print_r($_COOKIE);
?>

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

然后我們在test2.php中來顯示$_COOKIE看一下
復制代碼 代碼如下:
<?php
print_r($_COOKIE);
?>

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

先寫到這里:

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

php COOKIE及其使用

NETscape公司關于Cookie的官方原始定義的網址:http://www.NETscape.com/newsref/std/cookie_spec.html

php技術php cookie 作用范圍不要在當前頁面使用你的cookie,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 色在线视频| 黄视频免费在线播放| 女干.com| 中长发图片2024最新款女| 俺去也电影网| cctv体育频道5| 周传雄黄昏歌词| 欧美日韩欧美日韩| 26uuu电影网| 扭曲的欲望| 高地1—36集电视剧免费观看剧情| 梁山伯与祝英台电影| 魔镜电影免费观看完整版高清| 火花 电影| 柏欣彤广场舞开档| 黄海冰主演电视剧大全| karina hart| 妈妈的朋友电影网| 小矮人在线观看完整版| 电影《皮囊》| smc压力表| 《白狼》大结局| 二年级53天天练语文上册答案| 张子枫电视剧电影大全| 邓紫飞| 蜂鸟电视剧演员表| 黄网站在线观看视频| 白宝山末路1997电视剧免费版| 碧海情天 电视剧| 祝福语生日| 建模软件| 张成楚| 泰迪熊3| 花煞| 三年电影免费高清完整版| 女同恋性吃奶舌吻完整版| 美国电影player| 开创盛世电视剧全集免费观看| 萧明| 风月宝鉴电影剧情解析| 白培中|