PHP使用指南-cookies部分
php使用指南-cookies部分
在這課教程我們將學習怎樣利用 PHP 處理cookies,我將試著使事情盡可能簡單地去解釋cookies的一些實際應用。
什麼是cookies及作用?
cookies是由web伺服器產生的並且存在客戶端的一些資訊。它嵌在html資訊中,由伺服器端指定,在客戶端及伺服器端間傳遞訊息
。它通常用來:使用者網頁個人化,計數器,儲存被瀏覽網站的資訊等。
cookies和php
在 PHP中用cookies是相當容易的。可以使用setcookie函數設定一個cookie。 cookie是 HTTP標頭的一部分, 因此設定cookie功能必須在任何內容送到瀏覽器之前。這種限制與header()函數一樣。任何從客戶端傳來的cookie都會自動地轉換成一個PHP變數。 PHP取得資訊頭並分析, 提取cookie名並變成變數。因此,如果你設定cookie如setcookie("mycookie","wang");php將自動產生一個名為$mycookie,值為"wang"的變數.
先讓我們複習一下setcookie函數語法:
setcookie(string CookieName, string CookieValue, int CookieExpireTime, path, domain, int secure);
PATH:表示web伺服器上的目錄,預設為被呼叫頁面所在目錄
DOMAIN:cookie可以使用的域名,預設為被調用頁面的域名。這個域名必須包含兩個".",所以如果你指定你的頂級域名,你必須用".mydomain.com"
SECURE:如果設為"1",表示cookie只能被使用者的瀏覽器認為是安全的伺服器所記住
應用:
對於一個需要註冊的站點,將自動識別用戶的身份,並發送給它訊息,如果是陌生人,將告訴他請先註冊。我們按下面給出的資訊建立一個小數 據庫:名字(first name),姓(last name),email地址(email address),計數器(visit counter).
按下面步驟建表:
MySQL> create database users;
Query OK, 1 row affected (0.06 sec)
mysql> use users;
Database changed
mysql> create table info (FirstName varchar(20), LastName varchar(40),
email varchar(40), count varchar(3));
Query OK, 0 rows affected (0.05 sec)
好,現在有了符合要求的表,我們可以建造一個php頁面對照資料庫檢查cookies.
########################index.php###################################### ###########
if (isset($Example)) { //Begin instructions for existing Cookie
$info = explode("&", $Example);
$FirstName=$info[0];
$LastName=$info[1];
$email=$info[2];
$count=$info[3];
$count++;
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;
SetCookie ("Example",$CookieString, time()+3600); //設一新的cookie
echo"
Hello $FirstName $LastName, this is your visit number: $count
Your email address is: $email
";
mysql_connect() or die ("PRoblem connecting to DataBase"); //update DB
$query = "update info set count=$count where FirstName='$FirstName' and
LastName='$LastName' and email='$email'";
$result = mysql_db_query("users", $query) or die ("Problems .... ");
} //End Existing cookie instructions
else { //Begin inctructions for no Cookie
echo "
Click Here for Site Registration
";
} //End No Cookie instructions
?>
注意:如果你用的是一個遠端mysql伺服器或unix伺服器,你應用下面語句
mysql_connect ("server","username","passWord") or die ("Problem connecting to DataBase");
我們要檢查是否一個被指定名字的cookie在html頭部分傳送,記住,php能轉換可識別的cookie為對應的變量,所以我們能檢查一個名為"Example" 的變數:
if (isset($Example)) { //Begin instructions for existing Cookie
...
} else {
...
}
如果這個cookie存在,我們將計數器加一,並列印使用者訊息,如果這個cookie不存在,我們建議使用者先註冊
如果cookie存在,我們執行下面步驟:
if (isset($Example)) { //Begin instructions for existing Cookie
$info = explode("&", $Example); //split the string to variables
$FirstName=$info[0];
$LastName=$info[1];
$email=$info[2];
$count=$info[3];
$count++;
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;
SetCookie ("Example",$CookieString, time()+3600); //setting a new cookie
echo"
Hello $FirstName $LastName, this is your visit number: $count
Your email address is: $email
";
mysql_connect() or die ("Problem connecting to DataBase"); //update DB
$query = "update info set count=$count where FirstName='$FirstName' and
LastName='$LastName' and email='$email'";
$result = mysql_db_query("users", $query) or die ("Problems .... ");
} //End Existing cookie instructions
上面的程式有3個主要部分:先取得cookie值,用explode函數分成不同的變量,增加計數器,並設一新cookie.接著用html語句輸出使用者資訊。最後,用新的計數器值更新資料庫。
如果這個cookie不存,下面的程式就會被執行:
else { //Begin inctructions for no Cookie
echo "
Click Here for Site Registration
";
} //End No Cookie instructions
下面reg.php簡單列出到註冊頁面的連結
##############################reg.php################## ###########
Registering the site
在所有的資訊被提交後調用另一php檔案分析這些資訊
###############################reg1.php################# ###################
if ($FirstName and $LastName and $email)
{
mysql_connect() or die ("Problem connecting to DataBase");
$query="select * from info where FirstName='$FirstName' and
LastName='$LastName' and email='$email'";
$result = mysql_db_query("users", $query);
$r=mysql_fetch_array($result);
$count=$r["count"];
if (isset($count)) {
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;
SetCookie("範例",$CookieString, time()+3600);
echo "
使用者 $FirstName $LastName 已存在。使用現有的
資訊.
echo "
回首頁";
} 其他 {
$計數 = '1';
$query =「插入資訊值
('$FirstName','$LastName','$email','$count')";
$結果 = mysql_db_query("使用者", $query);
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;
SetCookie("範例",$CookieString, time()+3600);
echo "感謝您註冊。
";
}
} else { echo "抱歉,缺少一些資訊。請返回並添加全部
資訊”;}
? >
首先檢查所有的資訊是否按要求填寫,如果沒有,返回重新輸入
if ($FirstName 和 $LastName 和 $email)
{
...
} else { echo "抱歉,缺少一些資訊。請返回並添加全部
資訊”;}
? >
如果所有資訊都填寫好,將執行下面:
mysql_connect() 或 die (「連接資料庫時出現問題」);
$query="select * from info where FirstName='$FirstName' 和
LastName='$LastName' 和 email='$email'";
$結果 = mysql_db_query("用戶", $query);
$r=mysql_fetch_array($結果);
$count=$r["計數"];
if (isset($count)) {
$計數++;
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;
SetCookie("範例",$CookieString, time()+3600);
echo "
使用者 $FirstName $LastName 已存在。使用現有的
資訊.
echo "
回首頁";
} 其他 {
$計數 = '1'; //新訪客 - 將計數器設為 1。
$query =「插入資訊值
('$FirstName','$LastName','$email','$count')";
$結果 = mysql_db_query("用戶", $query);
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;
SetCookie("範例",$CookieString, time()+3600);
echo "感謝您註冊。
";
也許程式做了幾件工作:它檢查資料庫中是否有這樣一個用戶(如果沒有,則該cookie已被刪除),如果有,它指定舊的信息,並用當前的信息構建一個新的cookie ,如果同一個用戶沒有資料庫登錄,新建一個資料庫登錄,並且建立一個新的cookie。
首先,我們從資料庫取回使用者登入的詳細資料
mysql_connect() 或 die (「連接資料庫時出現問題」);
$query="select * from info where FirstName='$FirstName' 和
LastName='$LastName' 和 email='$email'";
$結果 = mysql_db_query("使用者", $query);
$r=mysql_fetch_array($結果);
$count=$r["計數"];
現在檢查該使用者是否有成員,利用isset()函數
if (isset($count)) {
...
} 其他 {
...
}
增加投票並建立一個 cookie
$計數++; //增加計數器
$CookieString=$FirstName.'&'.$LastName.'&'.$email.'&'.$count;
SetCookie("範例",$CookieString, time()+3600);
echo "
使用者 $FirstName $LastName 已存在。使用現有資訊。
";echo "
返回首頁";
如果沒有一個使用者投票,在mysql中加一筆記錄,並設定一個cookie
注意:在任何時候,setcookie 將管道中的任何資料傳輸到瀏覽器之前,否則會得到錯誤訊息
以上就介紹了PHP使用指南-cookies部分,包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

「你的組織要求你更改PIN訊息」將顯示在登入畫面上。當在使用基於組織的帳戶設定的電腦上達到PIN過期限制時,就會發生這種情況,在該電腦上,他們可以控制個人設備。但是,如果您使用個人帳戶設定了Windows,則理想情況下不應顯示錯誤訊息。雖然情況並非總是如此。大多數遇到錯誤的使用者使用個人帳戶報告。為什麼我的組織要求我在Windows11上更改我的PIN?可能是您的帳戶與組織相關聯,您的主要方法應該是驗證這一點。聯絡網域管理員會有所幫助!此外,配置錯誤的本機原則設定或不正確的登錄項目也可能導致錯誤。即

Windows11將清新優雅的設計帶到了最前沿;現代介面可讓您個性化和更改最精細的細節,例如視窗邊框。在本指南中,我們將討論逐步說明,以協助您在Windows作業系統中建立反映您的風格的環境。如何更改視窗邊框設定?按+開啟“設定”應用程式。 WindowsI前往個人化,然後按一下顏色設定。顏色變更視窗邊框設定視窗11「寬度=」643「高度=」500「>找到在標題列和視窗邊框上顯示強調色選項,然後切換它旁邊的開關。若要在「開始」功能表和工作列上顯示主題色,請開啟「在開始」功能表和工作列上顯示主題

預設情況下,Windows11上的標題列顏色取決於您選擇的深色/淺色主題。但是,您可以將其變更為所需的任何顏色。在本指南中,我們將討論三種方法的逐步說明,以更改它並個性化您的桌面體驗,使其具有視覺吸引力。是否可以更改活動和非活動視窗的標題列顏色?是的,您可以使用「設定」套用變更活動視窗的標題列顏色,也可以使用登錄編輯程式變更非活動視窗的標題列顏色。若要了解這些步驟,請前往下一部分。如何在Windows11中變更標題列的顏色? 1.使用「設定」應用程式按+開啟設定視窗。 WindowsI前往“個人化”,然

工作列縮圖可能很有趣,但它們也可能分散注意力或煩人。考慮到您將滑鼠懸停在該區域的頻率,您可能無意中關閉了重要視窗幾次。另一個缺點是它使用更多的系統資源,因此,如果您一直在尋找一種提高資源效率的方法,我們將向您展示如何停用它。不過,如果您的硬體規格可以處理它並且您喜歡預覽版,則可以啟用它。如何在Windows11中啟用工作列縮圖預覽? 1.使用「設定」應用程式點擊鍵並點選設定。 Windows按一下系統,然後選擇關於。點選高級系統設定。導航至“進階”選項卡,然後選擇“效能”下的“設定”。在「視覺效果」選

您是否在Windows安裝程式頁面上看到「出現問題」以及「OOBELANGUAGE」語句? Windows的安裝有時會因此類錯誤而停止。 OOBE表示開箱即用的體驗。正如錯誤提示所表示的那樣,這是與OOBE語言選擇相關的問題。沒有什麼好擔心的,你可以透過OOBE螢幕本身的漂亮註冊表編輯來解決這個問題。快速修復–1.點選OOBE應用底部的「重試」按鈕。這將繼續進行該過程,而不會再打嗝。 2.使用電源按鈕強制關閉系統。系統重新啟動後,OOBE應繼續。 3.斷開系統與網際網路的連接。在脫機模式下完成OOBE的所

在Windows11上的顯示縮放方面,我們都有不同的偏好。有些人喜歡大圖標,有些人喜歡小圖標。但是,我們都同意擁有正確的縮放比例很重要。字體縮放不良或圖像過度縮放可能是工作時真正的生產力殺手,因此您需要知道如何自訂以充分利用系統功能。自訂縮放的優點:對於難以閱讀螢幕上的文字的人來說,這是一個有用的功能。它可以幫助您一次在螢幕上查看更多內容。您可以建立僅適用於某些監視器和應用程式的自訂擴充功能設定檔。可以幫助提高低階硬體的效能。它使您可以更好地控制螢幕上的內容。如何在Windows11

螢幕亮度是使用現代計算設備不可或缺的一部分,尤其是當您長時間注視螢幕時。它可以幫助您減輕眼睛疲勞,提高易讀性,並輕鬆有效地查看內容。但是,根據您的設置,有時很難管理亮度,尤其是在具有新UI更改的Windows11上。如果您在調整亮度時遇到問題,以下是在Windows11上管理亮度的所有方法。如何在Windows11上變更亮度[10種方式解釋]單一顯示器使用者可以使用下列方法在Windows11上調整亮度。這包括使用單一顯示器的桌上型電腦系統以及筆記型電腦。讓我們開始吧。方法1:使用操作中心操作中心是訪問

許多用戶在選擇智慧型手錶的時候都會選擇的華為的品牌,其中華為GT3pro和GT4都是非常熱門的選擇,不少用戶都很好奇華為GT3pro和GT4有什麼區別,下面就給大家介紹一下二者。華為GT3pro和GT4有什麼差別一、外觀GT4:46mm和41mm,材質是玻璃鏡板+不鏽鋼機身+高分纖維後殼。 GT3pro:46.6mm和42.9mm,材質是藍寶石玻璃鏡+鈦金屬機身/陶瓷機身+陶瓷後殼二、健康GT4:採用最新的華為Truseen5.5+演算法,結果會更加的精準。 GT3pro:多了ECG心電圖和血管及安
