php 进阶:灵活地运用 cookie_PHP
Cookie
cookie 是强大而方便的功能,它能提供一个范围内的全程变量,来看看 cookie 的语法:setcookie(cookievalue,value,time,path,domain);
cookievalue 是设置的 cookie 变量,value 是将一个值设置成 cookie 的变量,time 是这个 cookie 变量作用的时间,path 是 cookie 作用的路径,domain 是 cookie 作用的域;
需要注意的是在 php 程序内设置 cookie 时一定不能在 html 这个标记的后面设置.
下面看个例子:
setcookie("cookietime","2001-5-2",time()+3600,"/","test.php");
这个 cookie 设置的意思是给日期 "2001-5-2" 设置一个 cookie 变量 $cookietime ,其作用时间为 3600 秒,这个变量在 /test.php 里生效.
这时在 test.php 里加上 echo $cookietime; 就会显示出 2001-5-2 .
如果将 cookie 里的时间置空,那么关闭浏览器后,cookie 就失效了.
cookie 有一个特殊的地方就是 cookie 设置的值并不会马上被执行,直到第二次引用时才会被执行,那么第一次引用的 cookie 值是什么呢?
就是 cookie 上一次设置的值,这儿理解起来有点费劲,没关系,举个例子就全明白了:
setcookie("cookietime",time,time()+3600,"/","test.php");
第一次引用时 $cookietime 内没有值,第二次引用时发现 $cookietime 内的 time 才显示出来,修该 time 为 2001:
setcookie("cookietime",2001,time()+3600,"/","test.php");
再执行一次,第一次引用时 $cookietime 的值为 time,第二次引用 $cookietime 的值才为 2001;那么 cookie 的这个特性有何功用呢?聪明的读者可能已经知道其用法了,就是用于通告和报警功能上的;
看个关于使用 cookie 这个特性的例子,这里程序要实现的功能是当用户下一次来浏览网站时,所有这个用户没看过的新信息后面都添加一个 (new),用 cookie 来完成这个功能再简单不过了,至少在我看来还没有任何其它方法能比使用 cookie 来完成这个功能更简单的了.
存储信息自然需要时间值,只要数据库有存储与每条信息相关的时间值加上 cookie 就能完成这个看上去还不错的功能:
test.php:
$time=date('Y-m-d H:i:s');
setcookie("cookietime",$time,time()+3600000,"/","test.php");
......
......
//从数据库取出时间值
$datatime=mysql_result($result,$i,"time");
//比较两个时间的大小,所有 $datatime 大于 $cookietime 的信息后面加上 (new)
if ($datatime>$cookietime)
echo "(new)";
......
......
整个过程就是这么简洁明了,当用户向网站发出浏览 /test.php 的请求时,他的浏览器就会把他上一次浏览 /test.php 的 cookie 记录发给服务器,服务器接受这个 cookie 值并做处理,同时把用户浏览器的 cookie 重新设置,并返回处理的结果,这就是 cookie 工作的原理.

熱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)

Cookie通常儲存在瀏覽器的Cookie資料夾中的,瀏覽器中的Cookie檔案通常以二進位或SQLite格式存儲,如果直接開啟Cookie文件,可能會看到一些亂碼或無法讀取的內容,因此最好使用瀏覽器提供的Cookie管理介面來檢視和管理Cookie。

電腦上的Cookie儲存在瀏覽器的特定位置,具體位置取決於使用的瀏覽器和作業系統:1、Google Chrome, 儲存在C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies中等等。

手機上的Cookie儲存在行動裝置的瀏覽器應用程式中:1、在iOS裝置上,Cookie儲存在Safari瀏覽器的Settings -> Safari -> Advanced -> Website Data中;2、在Android裝置上,Cookie儲存在Chrome瀏覽器的Settings -> Site settings -> Cookies中等等。

當物件在Jackson庫中具有父子關係時,將使用@JsonIdentityInfo註解。 @JsonIdentityInfo 註解 用於在序列化和反序列化過程中指示物件身分。 ObjectIdGenerators.PropertyGenerator是一個抽象佔位符類,用來表示要使用的物件識別碼來自POJO屬性的情況。語法@Target(value={ANNOTATION_TYPE,TYPE,FIELD,METHOD,PARAMETER})@Retention(value=RUNTIME)public

Cookie運作方式涉及到伺服器發送Cookie、瀏覽器儲存Cookie以及瀏覽器對Cookie的處理和儲存。詳細介紹:1、伺服器發送Cookie,伺服器會傳送一個包含Cookie的HTTP回應標頭給瀏覽器。這個Cookie包含了一些訊息,例如使用者的身份認證、偏好設定或購物車內容等,瀏覽器接收到這個Cookie後,會將它儲存在使用者的電腦上;2、瀏覽器儲存Cookie等等。

Cookie洩漏的危害有導致個人識別資訊被竊、個人線上行為被追蹤、帳戶被竊等。詳細介紹:1、個人識別資訊被盜竊,例如姓名、電子郵件地址、電話號碼等,這些資訊可能被不法分子用於進行身份盜竊、欺詐等違法行為;2、個人在線行為被追踪,通過分析cookie中的數據,不法分子可以了解用戶的瀏覽歷史、購物偏好、興趣愛好等;3、帳戶被盜,繞過登入驗證,直接存取用戶的帳號等等。

清除cookie產生的影響有重置個人化設定和偏好、影響廣告體驗、破壞登入狀態和記住密碼功能。詳細介紹:1、重置個人化設定和偏好,如果清除了cookie,購物車將被重置為空,需要重新添加商品,同樣清除cookie還會導致在社群媒體平台上的登入狀態遺失,需要重新輸入使用者名稱和密碼;2、影響廣告體驗,如果清除了cookie,網站將無法了解我們的興趣和偏好,會顯示無關的廣告等等。

隨著網路的普及,我們使用瀏覽器進行上網已經成為一種生活方式。在日常使用瀏覽器過程中,我們常會遇到需要輸入帳號密碼的情況,如網購、社交、郵件等。這些資訊需要瀏覽器記錄下來,以便下次造訪時不需要再次輸入,這時候Cookie就派上了用場。什麼是Cookie? Cookie是指由伺服器端發送到使用者瀏覽器上並儲存在本地的一種小型資料文件,它包含了一些網站的使用者行為
