今天小編給大家分享一下php $_cookie值與存入值不同的原因是什么的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
10年積累的網(wǎng)站設(shè)計(jì)、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有和平免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
變量名不一致
由于cookie本身是一個(gè)標(biāo)準(zhǔn)的HTTP協(xié)議中的請(qǐng)求頭,所以存入cookie時(shí)使用的變量名需要和獲取時(shí)使用的變量名一致。如果變量名不一致,則獲取的值就會(huì)和存入的值不同。
舉個(gè)例子:
// 存入cookie時(shí)
setcookie('test', 'abc', time() + 3600, '/');
// 獲取cookie時(shí)
$test = $_COOKIE['Test'];
在這個(gè)例子中,存入cookie時(shí)使用的變量名為'test',但是在獲取時(shí)使用了'Test',這會(huì)導(dǎo)致獲取到的值與存入的值不同。
cookie作用路徑不一致
與變量名類似,cookie作用的路徑也需要保持一致。如果存入cookie時(shí)指定了作用路徑,但是獲取時(shí)沒有指定,則獲取到的值就會(huì)和存入的值不同。
舉個(gè)例子:
// 存入cookie時(shí)
setcookie('test', 'abc', time() + 3600, '/test');
// 獲取cookie時(shí)
$test = $_COOKIE['test'];
在這個(gè)例子中,存入cookie時(shí)指定了作用路徑為'/test',但是獲取cookie時(shí)沒有指定,導(dǎo)致獲取到的值不同。
cookie過期時(shí)間不一致
如果在存入cookie時(shí)指定過期時(shí)間,但是在獲取cookie時(shí)已經(jīng)超過了過期時(shí)間,則獲取到的值為null。
舉個(gè)例子:
// 存入cookie時(shí)
setcookie('test', 'abc', time() + 3600, '/');
// 過了過期時(shí)間再獲取cookie時(shí)
sleep(3605);
$test = $_COOKIE['test'];
在這個(gè)例子中,存入cookie的過期時(shí)間為一小時(shí)后,但是在獲取cookie時(shí)已經(jīng)超過了過期時(shí)間,導(dǎo)致獲取到的值為null。
cookie跨域問題
如果存入cookie的域名和獲取cookie的域名不一致,則獲取到的cookie值也會(huì)與存入的不同。
舉個(gè)例子:
// 存入cookie時(shí)
setcookie('test', 'abc', time() + 3600, '/', '.example.com');
// 在另一個(gè)域名上獲取cookie時(shí)
$test = $_COOKIE['test'];
在這個(gè)例子中,存入cookie時(shí)指定了域名為'.example.com',但是在另一個(gè)域名上獲取cookie,則會(huì)獲取不到或者獲取到不同的值。
以上就是“php $_cookie值與存入值不同的原因是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。