因為在本地測試完全沒有問題,所以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);
}
複製代碼 程式碼如下:
$td = date('d');
dsetcookie("testvar",$td,30*24*60* 60);
print_r($_COOKIE);
?>
複製程式碼 程式碼如下:
?
$td = date('d');
dsetcookie("testvar",$td,30*24*60*60);
print_r($_COOKIE);//這個要註解掉要不然會報header警告
$location = "test2.php";
header("Location: ".$location);
?>
複製程式碼 程式碼如下:
print_r($OOK );
?>
先寫到這裡:
你可以透過下面的幾個連結更深入的了解COOKIE
PHP COOKIE及其使用
Netscape公司關於Cookie的官方原始定義的網址:http://www.netscape.com/newsref/std/cookie_spec.html
以上就介紹了contract killer php cookie 作用範圍–不要在當前頁面使用你的cookie,包括了contract killer方面的內容,希望對PHP教程有興趣的朋友有所幫助。