cookies可以刪除嗎 PHP中cookies使用指南
綜述
Cookie是在HTTP協定下,伺服器或腳本可以維護客戶工作站上資訊的一種方式。 Cookie是由網頁伺服器儲存在使用者瀏覽器上的小文件,它可以包含有關使用者的資訊(如身分識別號碼、密碼、使用者在網路網站購物的方式或使用者造訪網站的次數)。無論何時使用者連結到伺服器,Web網站都可以存取Cookie資訊。
怎樣設定cookies?
在PHP中可以使用setcookie函數來設定一個cookie。 cookie是 HTTP標頭的一部分, 因此設定cookie功能必須在任何內容送到瀏覽器之前。這種限制與header()函數一樣。任何從客戶端傳來的cookie都會自動地轉換成一個PHP變數。 PHP取得資訊頭並分析, 提取cookie名並變成變數。因此,如果設定cookie如setcookie("mycookie","Cookies")php將自動產生一個名為$mycookie,值為"Cookies"的變數。
我們來看看setcookie函數語法:
init setcookie(string CookieName,string CookieValue,int CookieExpireTime,path,domain,目錄,預設為被呼叫頁面所在目錄
DOMAIN:cookie可以使用的網域名稱,預設為被呼叫頁面的網域名稱。這個網域必須包含兩個".",所以如果你指定你的頂級網域,你必須用".mydomain.com"
SECURE:如果設為"1",表示cookie只能被使用者的瀏覽器認為是安全的伺服器所記住.
cookies使用舉例
假設我們有這樣一個需要註冊的站點,它自動識別用戶的身份並進行相關的操作:如果是已經註冊的用戶,發送給他信息;如果不是已經註冊的使用者,則顯示一個註冊頁面的連結。
依照上面的要求,我們先建立資料庫用來保存註冊使用者的資料:名字(first name),姓(last name),Email地址(email address),計數器(visit counter)。
先依下列步驟建表:
mysql> create database users;
〠Query users;
〠Query OK, mysql> use users;
Database changed
mysql> create table info (FirstName varchar(20), LastName varchar(40), email varchar(40), count varchar(3));
㠀 〠 然後建造一個php頁面對照資料庫檢查cookies。
由於php能轉換可辨識的cookie為對應的變量,所以我們能檢查一個名為"myCookies" 的變數:
<? if (isset($myCookies))) 🎜> ……
} else { //如果Cookie不存在
…… 當cookie存在時,我們執行下面步驟:
先取得cookie值,用explode函數分析成不同的變數,增加計數器,並設一個新cookie:
$info = explode("&", $myCookies); SetCookie ("myCookies",$CookieString, time()+3600); 🎜> 接著用html語句輸出使用者資訊。
最後,用新的計數器值更新資料庫。
如果這個cookie不存在,我們顯示一個註冊頁(register.php)的連結。
下面的register.php是使用者註冊頁:
/* register.php */
<form method="post" action="reg ="text" name="FirstName">
Last Name:<input type="text" name="LastName">
<input type="submit" value=" form>
用戶在register.php註冊頁面填寫的信息提交給regOK.php:
/* regOK.php */
if ($FirstName and $LastName and $email) {
… …//在資料庫查詢使用者是否有
}
}else{
…//錯誤處理
} 依要求填寫,如果沒有,回傳重新輸入
如果所有資訊填好,首先,我們從資料庫取回使用者登入詳細資料
mysql_connect() or die ("連線資料庫出現錯誤! 🎜> $query="select * from info where FirstName='$FirstName' and LastName='$LastName' and email='$email'"; , $query);
$info=mysql_fetch_array($result);
$count=$info["count"];
檢查數據庫是否有這樣一個用戶,如果有,它指定舊的信息,並用當前的信息建一新的cookie,如果同一使用者沒有資料庫登入,新建一資料庫登入,並建造新的cookie。
現在利用isset()函數檢查使用者是否有計數器,如果有則計數器增加並且建立一個新的cookie:
$count++; //增加計數器
$count++; //增加計數器
C$ $LastName.'&'.$email.'&'.$count;
SetCookie ("myCookies",$CookieString, time()+3600);
〒中計數記錄,並設一cookie
注意:呼叫setcookie函數之前應該沒有任何資料輸出倒瀏覽器,否則將會出現錯誤。
如何實現跨域名Cookie?
從Cookie規範上說,一個cookie只能用於一個域名,因此,如果在瀏覽器中對一個域名設置了一個cookie,那麼這個cookie對於其它的域名將無效。
下面我們來談一個跨網域cookie的實作方案:
第一步:建立預置腳本
將下面的程式碼加到預置腳本中(或出現在所有腳本之前的函式中) 。
<?php
/*如果GET變數已經設定了,並且它與cookie變數不同
global $HTTP_COOKIE_VARS, $HTTP_GET_VARS ;
if (isset($sessionid) && isset($HTTP_GET_VARS['sessionid']) && ($HTTP_COOKIE_VARS['sessionid']) && ($HTTP_COOKIE_VARS['sessionid']) && ($HTTP_COOKIE_VARS['sessionid'] .)
}
?>
這個程式碼運作之後,一個全域變數'sessionid'將可以用於腳本。它將保存使用者的cookie中的sessionid值,或是透過GET請求發送的sessionid值。
第二步:為所有的交叉網域引用使用變數
建立一個全域的設定文件,用於存放可以進行切換的網域名稱的基本引用形式。例如,如果我們擁有domain1.com和domain2.com,則如下設定:
<?php
$domains['domain1'] = "http://www.do ;
$domains['domain2'] = "http://www.domain2.com/-$sessionid-";
〞 <?php
echo "Click <a href="", $domains['domain2'], "/contact/?email=yes">here<〠)> 🎜> 上面的程式碼將產生以下的輸出:
Click <a href="http://www.domain2.com/-66543afe6543asdf6asd-/contact/?email=yes">here@ > 在這裡sessionid已經被插入到URL中去了。
第三步:設定Apache
現在,我們來設定Apache來重寫這個URL。
我們需要將
http://www.domain2.com/-66543afe6543asdf6asd-/contact/
遀變. 🎜> 且這種url:
http://www.domain2.com/-66543afe6543asdf6asd-/contact/?email=yes
contact/?email=yes&sessi
為了實現上面的要求,簡單地配置兩個虛擬服務器,作為domain1和domain2,如下操作:
<VirtualHost ipaddress>
DocumentRoot /usr/local/www/domain1
ServerName www.domain1.com
RewriteEngine on
> RewriteRule ^/-(.*)-(. *)$ $2?sessi
</VirtualHost>
<VirtualHost dress> ServerName www.domain2.com
RewriteEngine on
RewriteRule ^/-(.*)-(.*?.*)$ $2&sessi
RewriteRule ^/-(.*)-(.*)$ $2?sessi
〝/這些重病寫的規則實現了上面兩個URL重寫的要求。
以上就介紹了cookies可以刪除嗎 PHP中cookies使用指南,包含了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)

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。
