2017年10月11日 星期三

利用Cookie記錄用戶資料

利用Cookie記錄用戶資料

Cookie是資料存放在「用戶端」的技術
WEB
 
 
 


                     Cookie資料取出
 



                資料經過處理後,以網頁呈現

大部分的網頁程式設計師,都會利用Cookie來儲存訪客「個人資料」,而將重要的「認證資料」,如:交易數量、客戶ID、密碼等儲存在伺服器裡,此時,若能讓這些「個人」資料存放在用戶電腦裡,將可大大減輕伺服器的負擔。



將訪客姓名寫入Cookie
函式:setcookie(name,[value])
回傳的值:若順利將資料寫入Cookie,則回傳整數1
舉例:setcookie("UserName","David")

setcookie()函式裡有兩個參數可供輸入,
前者為Cookie裡儲存的「變數名稱」,後者則是要儲存的「值」

範例
範例說明
當中name01name04就是Cookie裡儲存的變數名稱,其後的字串值就是各變數儲存的值。
不過,儲存的實際動作會在網頁載入之後才進行,也就是網頁全部載入之後才存入Cookie資料。這過程中若是嘗試將Cookie裡的資料輸出,將無法正常的顯示。
此外,setcookie()在使用上有以下限制:
1.  必須寫在標記之前
2.  setcookie()之前不可使用echo輸出資料

程式範例

()


顯示結果
PHP程式設計2100     註:需在重新整理後,才會載入「值」!
PHP
程式設計2007
備份Cookie資料
Cookie雖然很實用,但它並不是沒有缺點的,它最大的缺點就是,一旦用戶系統重新安裝、或硬碟損毀等等因素,所儲存的個人資料(Cookie)將全部消失,所以平時應將Cookie資料備份出來,畢竟剎那間的永恆並不是真正的永恆。

要備份Cookie資料,您的作業系統必須是Windows98Windows ME
或是Windows 2000才行。
將電腦裡的Cookie資料備份出來,步驟說明如下:
1.  打開IE瀏覽器
2.  開啟「匯入/匯出精靈」
3.  選擇匯出「Cookie
4.  選擇匯出的目的地
5.  完成匯出
備份完成之後,就不怕哪一天電腦翻臉不認人了。


您的個人資料將保留2
函式:setcookie(name,[value])
回傳的值:若順利將資料寫入Cookie,則回傳整數1
舉例:setcookie("UserName","David",保留時間);

Setcookie()這個函式,不只有兩個參數可以設定,它還有第三個參數可以指定,那就是「保留時間」。
此「保留時間」,並不是單純的「秒數」而已,而是從197011開始計算的秒數,也就是「絕對秒數」。
程式範例
$gettime=date(U);
Setcookie("name03","pricepiano",$gettime+60);

程式說明
程式利用date(U)取得系統自197011所歷經的秒數(※參數是大寫U),並將之存在$gettime裡。
當中setcookie()第三個參數$gettime+60就是現在的時間,開始往後算60秒之意。
按下廣告後,開放檔案下載
不知您是否曾經逛過這樣的網站,如果沒有先「瀏覽」站上的「贊助廠商」,就無法下載檔案。

由於網路上有許多的廣告商,為招攬訪客,提供了這樣一個「賺錢機會」,只要在網頁裡放上它們的廣告,且說服網友按下「廣告」,就可以得到一定的「獎金」。如果以台幣1元來看,100個人按它就有100元的收入,若加上全世界的網友「參與」,要月入數十萬,應是輕而易舉的事。

那麼,要如何知道訪客已經瀏覽過廣告了呢?
只要透過「Cookie」的幫忙,再加上一點誘因,就可以讓訪客幫您按廣告了。

要做一個已經瀏覽過「廣告」的標記,大致有兩種方法:
1.  在伺服端建立標記
2.  在客戶端建立標記

在伺服端建立標記
就是在伺服器裡,建立一個檔案,並忠實地記錄下訪客的IP位置,然後再為每個IP加上標記,判斷是否已經讀取過
此需要判斷訪客是否重新登入,因為如果重新登入,就要將標記清除,以避免「上站一次,永遠有效」的情形發生

在客戶端建立標記
在伺服器裡建立標記很讓費伺服器空間與效率負擔;如果能將這些「個人標記」放在「個人的cookie」裡,那麼將大大減輕伺服器的負擔,程式撰寫也會輕鬆許多
 按下廣告後
開放下載權限的流程,瀏覽過廣告?,開放檔案下載權限,是,否
 









程式範例
變數$check       記錄是否已經閱覽過的標記
函式setcookie()  將資料寫入cookie的函式

這個程式只用了一個變數$check,就可以判斷「每位」訪客瀏覽廣告的標記,這是因為標記是存放在每個人的電腦裡的緣故。
若將標記存放在伺服器裡,則宣告的變數就十分龐大了,尤其是一次上站人數過多時,就會導致「塞車」的情形,若改用cookie就沒有這些顧慮了

範例ex12-03共有4個檔,分別為:
ex12-03.php  網站的首頁,當中有三個連結,分別是「廣告連結」、「有下載權
             限的連結」、「無下載權限的連結」。
ex12-03a.php 廣告商的網頁,瀏覽此網頁後,會自動在cookie裡加上一個瀏
             覽過的標記。
ex12-03b.php 具有下載權限的網頁。
ex12-03c.php 沒有下載權限的網頁,此網頁是做為對照之用。


ex12-03.php程式範例

</span><span style="font-family:細明體">沒看廣告就別想下載<span lang="EN-US">




顯示結果


ex12-03a.php程式範例

</span><span style="font-family:細明體">廣告贊助廠商<span lang="EN-US">



顯示結果
ex12-03b.php程式範例

</span><span style="font-family:細明體">好康軟體熱力大放送<span lang="EN-US">

七色閃電.jpg">



顯示結果




ex12-03c.php程式範例

</span><span style="font-family:細明體">一般遊客樂園<span lang="EN-US">



顯示結果


沒有留言:

用頭腦去思考,不要人云亦云才好, 宗教信徒就是依賴與自私心態(求東求西)的人, 光是這點就很容易暴露弱點了, 難怪seafood吃飽飽,哈哈。 續上, 除了依賴與自私心態(兩者都是人性)之外。 另外也有很大一部份的人,是人云亦云的思考邏輯, 所以宗教才能譁眾取寵。