假如我想判所某個人是否有權進入這個網頁,若沒權就把他轉到某個網頁去
這時我們通常會在網頁的最前頭加上
<?php
if($cookie_userid==''){
header("Location: http://192.168.1.253/login.html");
exit();
}
?>
但是如果IE在之前讀過該script的話,IE會cache住該頁面的資訊,結果上面範例的判斷會無效
解決之道是改成
<?php
if($cookie_userid==''){
header("Expires: Sat, 1 Jan 2005 00:00:00 GMT");
header("Last-Modified: ".gmdate( "D, d M Y H:i:s")."GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

header("Location: http://192.168.1.253/login.html");
exit();
}
?>
但我試了一下,這樣還是不行,最後只好假道Javascript來處理,改成這樣
<?php
  if($cookie_userid=='' ){
    echo '<script language="javascript">window.location.replace("http://192.168.1.253/login.html");</script>';
    exit();
  }
?>
這樣就差不多了
不用再管有沒有cache的問題了 :)
有個問題是:如果client端關了javascript,可能會有問題 ><"
arrow
arrow
    全站熱搜

    jck11 發表在 痞客邦 留言(4) 人氣()