本文目錄一覽:
- 1、PHP網頁如果需要查看信息必須輸入密碼,驗證後才可顯示出內容的代碼如何實現?
- 2、php header()函數 參數中 lastModified和expires到底有什麼區別?是一個意思么?
- 3、php setcookie(name, value, expires, path, domain,
- 4、PHP里 的header方式設置COOKIE,參數是FALSE的問題。
- 5、在php中用expires設定一個月後過期怎樣寫
PHP網頁如果需要查看信息必須輸入密碼,驗證後才可顯示出內容的代碼如何實現?
相關代碼如下:
新建一個PHP文件如下:
?php
header(‘Content-type:text/html;charset=utf-8’);
$password = “1234”; // 這裡是正確密碼
$p = “”;
if(isset($_COOKIE[“isview”]) $_COOKIE[“isview”] == $password){
$isview = true;
}else{
if(isset($_POST[“pwd”])){
if($_POST[“pwd”] == $password){
setcookie(“isview”,$_POST[“pwd”],time()+3600*0.2);
$isview = true;
}else{
$p = (empty($_POST[“pwd”])) ? “需要密碼才能查看,請輸入密碼。” : “密碼不正確,請重新輸入。”;
}
}else{
$isview = false;
$p = “請輸入密碼查看,獲取密碼可聯繫我。”;
}
}
if($isview){ ?
密碼成功顯示的內容
?php }else{ ?
!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” ” ”
html xmlns=” ”
head
meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /
meta http-equiv=”pragma” content=”no-cache” /
meta http-equiv=”cache-control” content=”no-cache” /
meta http-equiv=”expires” content=”0″ /
title測試/title
!–[if lt IE 6]
style type=”text/css”
.z3_ie_fix{
float:left;
}
/style
![endif]–
style type=”text/css”
!–
body{
background:none;
}
.passport{
border:1px solid red;
background-color:#FFFFCC;
width:400px;
height:100px;
position:absolute;
left:49.9%;
top:49.9%;
margin-left:-200px;
margin-top:-55px;
font-size:14px;
text-align:center;
line-height:30px;
color:#746A6A;
}
—
/style
div class=”passport”
div style=”padding-top:20px;”
form action=”” method=”post” style=”margin:0px;”輸入查看密碼
input type=”password” name=”pwd” / input type=”submit” value=”查看” /
/form
?php echo $p; ?
/div
/div
/body
/html
?php
} ?
php header()函數 參數中 lastModified和expires到底有什麼區別?是一個意思么?
有區別。不是同一個意思。
‘Last-Modified 指的是文件本身最後修改時間。
而 Expires 指的是過期時間。這個是用於緩存的,如果現在時間超過 Expires ,那麼就重新請求,如果沒有超過 Expires ,那麼久使用之前的緩存數據。
————-
沒明白,繼續追問哦,我幫你解答,^_*。
php setcookie(name, value, expires, path, domain,
setcookie() 定義一個和其餘的 HTTP 標頭一起發送的 cookie 和其它標頭一樣 cookie 必須在腳本的任何其它輸出之前發送(這是協議限制) 這 需要將本函數的調用放到任何輸出之前 包括 和 head 標籤以及任何空格 如果在調用 setcookie() 之前有任何輸出 本函數將失敗並返回 FALSE 如果 setcookie() 函數成功運行 將返回 TRUE 這並不說明用戶是否接受了 cookie 函數定義 bool setcookie ( string name [ string value [ int expire [ string path [ string domain [ bool secure]]]]] ) setcookie() 參數詳解
參數 說明 舉例 name cookie的名字 使用 $_COOKIE[ cookiename ] 調用名為 cookiename 的 cookie value cookie的值 存放在客戶端 不要存放敏感數據 假定 name 是 cookiename 可以通過 $_COOKIE[ cookiename ] 取得其值 expire
Cookie 過期的時間 這是個 Unix 時間戳 即從 Unix 紀元開始的秒數
換而言之 通常用 time() 函數再加上秒數來設定 cookie 的失效期
或者用 mktime() 來實現
time()+ * * * 將設定 cookie 天后失效
如果未設定 cookie 將會在會話結束後(一般是瀏覽器關閉)失效
path Cookie 在服務器端的有效路徑
如果該參數設為 / 的話 cookie 就在整個 domain 內有效
如果設為 /foo/ cookie 就只在 domain 下的 /foo/ 目錄及其子目錄內有效 例如 /foo/bar/
默認值為設定 cookie 的當前目錄
domain 該 cookie 有效的域名
要使 cookie 能在如 example 域名下的所有子域都有效的話 該參數應該設為 example
雖然 並不必須的 但加上它會兼容更多的瀏覽器
如果該參數設為 example 的話 就只在 子域內有效
細節見Cookie 規範中的 tail matching
secure
指明 cookie 是否僅通過安全的 HTTPS 連接傳送
當設成 TRUE 時 cookie 僅在安全的連接中被設置 默認值為 FALSE
或
例子 setcookie() 發送例子
複製代碼 代碼如下: $value = something from somewhere ; setcookie(“TestCookie” $value); setcookie(“TestCookie” $value time()+ ); /* expire in hour */ setcookie(“TestCookie” $value time()+ “/~ra *** us/” ” utoronto ca” );
注意 cookie 中值的部分在發送的時候會被自動用 urlencode 編碼並在接收到的時候被自動解碼並把值賦給與自己同名的 cookie 變量 如果不想這樣並且在使用 PHP 的話 可以用 setrawcookie() 來代替 下面這個簡單的例子可以得到剛才所設定的 cookie 的值
複製代碼 代碼如下: ?php // 輸出單獨的 cookie echo $_COOKIE[“TestCookie”]; echo $HTTP_COOKIE_VARS[“TestCookie”]; // 另一個調試的方法就是輸出所有的 cookie print_r($_COOKIE); ?
要刪除 cookie 需要確保它的失效期是在過去 才能觸發瀏覽器的刪除機制 下面的例子說明了如何刪除剛才設置的 cookie 例子 setcookie() 刪除例子
複製代碼 代碼如下: // 將過期時間設為一小時前 setcookie(“TestCookie” “” time() ); setcookie(“TestCookie” “” time() “/~ra *** us/” ” utoronto ca” );
也可以通過在 cookie 名稱中使用數組符號來設定數組 cookie 可以設定多個 cookie 作為數組單元 在腳本提取 cookie 時所有的值都放在一個數組種 例子 setcookie() 中使用數組的例子
複製代碼 代碼如下: ?php // 設定 cookie setcookie(“cookie[three]” “cookiethree”); setcookie(“cookie[o]” “cookieo”); setcookie(“cookie[one]” “cookieone”); // 刷新頁面後 顯示出來 if (isset($_COOKIE[ cookie ])) { foreach ($_COOKIE[ cookie ] as $name = $value) { echo “$name : $value br /n”; } } ? lishixinzhi/Article/program/PHP/201311/21055
PHP里 的header方式設置COOKIE,參數是FALSE的問題。
false是header函數的第二個參數,並不是包含在第一個字符串參數中的,所以正確的是:
header(“Set-Cookie:”.$var .”[‘”.$k.”‘]”.”=”. $v.”;’expires’=”.$time, false);
header(“Set-Cookie:”.$var .”=”. $value.”;’expires’=”.$time, false);
在php中用expires設定一個月後過期怎樣寫
過期時間等於現在時間加上一個月
當過期時間小於當前時間,那麼該數據就過期了~~~
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/310123.html