1. php如何通過cookie獲取微信授權登錄前頁面URl
PHP 的 $_COOKIE 變數用於取回 cookie 的值。
例子:
在下面的實例中,我們取回了名為 "user" 的 cookie 的值,並把它顯示在了頁面上:
<?php
echo$_COOKIE["user"];
print_r($_COOKIE);
?>
同時可以用setcookie() 函數設置 cookie。
語法:
setcookie(name, value, expire, path, domain);
在下面的例子中,我們將創建名為 "user" 的 cookie,並為它賦值 "Alex Porter"。我們也規定了此 cookie 在一小時後過期:
<?php
setcookie("user","AlexPorter",time()+3600);
?>
當刪除 cookie 時,您應當使過期日期變更為過去的時間點。
刪除的實例:
<?php
//
setcookie("user","",time()-3600);
?>
具體而言,登錄授權流程分為四步:
1、引導用戶進入授權頁面同意授權,獲取code
2、通過code換取網頁授權access_token(與基礎支持中的access_token不同)
3、如果需要,開發者可以刷新網頁授權access_token,避免過期
4、通過網頁授權access_token和openid獲取用戶基本信息(支持UnionID機制)
2. PHP如何獲取客戶端(用戶PC) COOKIE內的值
setcookie
的第三個參數,超時時間,設置上去就可以了
如果不同頁面讀取,還有$path,$domain等有關,請設置正確的值
手冊中的demo
<?php
$value
=
'something
from
somewhere';
setcookie("TestCookie",
$value);
setcookie("TestCookie",
$value,
time()+3600);
/*
expire
in
1
hour
*/
setcookie("TestCookie",
$value,
time()+3600,
"/~rasmus/",
".example.com",
1);
?>
3. 如何使用PHP操作cookie
PHP setcookie() 函數向客戶端發送一個 HTTP cookie。cookie 是由伺服器發送到瀏覽器的變數。cookie 通常是伺服器嵌入到用戶計算機中的小文本文件。每當計算機通過瀏覽器請求一個頁面,就會發送這個 cookie。cookie 的名稱指定為相同名稱的變數。例如,如果被發送的 cookie 名為 "name",會自動創建名為 $user 的變數,包含 cookie 的值。必須在任何其他輸出發送前對 cookie 進行賦值。如果成功,則該函數返回 true,否則返回 false。 setcookie(name, value, expire, path, domain, secure) name 必需。規定 cookie 的名稱。value 必需。規定 cookie 的值。expire 可選。規定 cookie 的有效期。path 可選。規定 cookie 的伺服器路徑。domain 可選。規定 cookie 的域名。secure 可選。規定是否通過安全的 HTTPS 連接來傳輸 cookie。可以通過 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 來訪問名為 "user" 的 cookie 的值。在發送 cookie 時,cookie 的值會自動進行 URL 編碼。接收時會進行 URL 解碼。如果你不需要這樣,可以使用 setrawcookie() 代替。程序1:設置並發送 cookie: <?php $value = "my cookie value"; // 發送一個簡單的 cookie setcookie("TestCookie",$value); ?> <html> <body> ... ... <?php $value = "my cookie value"; // 發送一個 24 小時候過期的 cookie setcookie("TestCookie",$value, time()+3600*24); ?> <html> <body> 程序2:檢索cookie 值的不同方法: <html> <body> <?php // 輸出個別的 cookie echo $_COOKIE["TestCookie"]; echo "<br />"; echo $HTTP_COOKIE_VARS["TestCookie"]; echo "<br />"; // 輸出所有 cookie print_r($_COOKIE); ?> </body> </html> 程序輸出: my cookie value my cookie value Array ([TestCookie] => my cookie value) 程序3:通過把失效日期設置為過去的日期/時間,刪除一個 cookie: <?php // 把失效日期設置為一小時前 setcookie ("TestCookie", "", time() - 3600); ?> 程序4:創建一個數組 cookie: <?php setcookie("cookie[three]","cookiethree"); setcookie("cookie[two]","cookietwo"); setcookie("cookie[one]","cookieone"); // 輸出 cookie (在重載頁面後) if (isset($_COOKIE["cookie"])) { foreach ($_COOKIE["cookie"] as $name => $value) { echo "$name : $value <br />"; } } ?> 程序輸出: three : cookiethree two : cookietwo one : cookieone 程序5: /** * 01.cookie設置 * */ function ssetcookie($var, $value, $life=0) { global $_SGLOBAL, $_SC, $_SERVER; setcookie($_SC['cookiepre'].$var, $value, $life?($_SGLOBAL['timestamp']+$life):0, $_SC['cookiepath'], $_SC['cookiedomain'], $_SERVER['SERVER_PORT']==443?1:0); }
4. 服務端(php)寫入cookie和客戶端寫入cookie一樣嗎
cookie 是存在客戶端的,一般情況下,每個網站只讀自己網站下的 cookie,php 的 cookie 和 js 的cookie 可以交互使用。session存儲在服務端,用戶刪除不掉,但是會產生許多文件碎片,總之,各有利弊.
5. php獲取cookie後怎麼使用
php獲取cookie使用方法:
cookie和session都可以暫時保存在多個頁面中使用的變數,但是它們有本質的差別。cookie存放在客戶端瀏覽器中,session保存在伺服器上。它們之間的聯系是session ID一般保存在cookie中。
cookie工作原理
當客戶訪問某個網站時,在PHP中可以使用setcookie函數生成一個cookie,系統經處理把這個cookie發送到客戶端並保存在c:Documents and Settings用戶名\Cookies目錄下。cookie是HTTP標頭的一部分,因此setcookie函數必須在任何內容送到瀏覽器之前調用。這種限制與header()函數一樣。當客戶再次訪問該網站時,瀏覽器會自動把c:Documents and Settings用戶名\Cookies目錄下與該站點對應的cookie發送到伺服器,伺服器則把從客戶端傳來的cookie將自動地轉化成一個PHP變數。
通過$_COOKIE['xxx']讀取客戶端發來的cookie。
創建 cookie
通過 setcookie() 函數來創建一個 cookie ,成功返回 TRUE ,否則返回 FALSE 。
語法:
bool setcookie( string name [, string value [, int expire [, string path [, string domain ]]]] )
參數說明:
name cookie 名稱
value 可選,cookie 值
expire 可選,過期時間,時間戳格式
path 可選,伺服器端有效路徑,/ 表示整個域名有效,默認為當前設置 cookie 時頁面的路徑
domain 可選,該 cookie 有效的域名
<?php
setcookie("username", "nostop", time()+3600); //設置了一個名稱為 username 的cookie,其值為 xiaoli ,並在1小時候後過期。如果時間也被省略,cookie 將會在會話結束後(一般是瀏覽器關閉)失效。
?>
cookie 會以一定格式被存儲在用戶計算機特定位置。
<?php
setcookie("username", "nostop", time()+3600, "/", ".example.com"); //在example.com 域名的 / 路徑下該 cookie 都有效(即全站有效)。
?>
讀取 cookie
PHP 內置了 $_COOKIE 變數以訪問設置的 cookie 值。
例子:
<?php
echo $_COOKIE["username"]; //nostop
?>
銷毀 cookie
可以通過設置 cookie 過期時間為以前的時間點來銷毀一個 cookie :
<?php
setcookie("username", "", time()-3600);
?>
cookie注意事項
1、SetCookie()之前不能有任何html輸出,就是空格,空白行都不行。
2、SetCookie()後,你在當前頁調用echo $_COOKIE["name"]不會有輸出。必須刷新或到下一個頁面在過期之前才可以看到Cookie值。
3、由於 cookie 信息存儲於用戶的計算機中,那麼就有可能偽造或修改 cookie 從而造成 cookie 欺騙,一般可以對 cookie 的值進行加密來預防欺騙。讀取 cookie 的時候,對 cookie 解密即可。
4、Cookie是保存在客戶端的,用戶禁用了Cookie,你的Cookie自然也就沒作用啦!
<?php
setcookie('username','nostop',time()+3600); //創建cookie
if(isset($_COOKIE["username"])){ //使用isset()函數檢測cookie變數是否已經被設置
echo "您好!".$_COOKIE["username"]; //您好!nostop 讀取cookie
}else{
echo "請登陸";
}
?>