您好,登錄后才能下訂單哦!
今天小編給大家分享一下php $_cookie值與存入值不同的原因是什么的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。
變量名不一致
由于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í)沒(méi)有指定,則獲取到的值就會(huì)和存入的值不同。
舉個(gè)例子:
// 存入cookie時(shí)
setcookie('test', 'abc', time() + 3600, '/test');
// 獲取cookie時(shí)
$test = $_COOKIE['test'];
在這個(gè)例子中,存入cookie時(shí)指定了作用路徑為'/test',但是獲取cookie時(shí)沒(méi)有指定,導(dǎo)致獲取到的值不同。
cookie過(guò)期時(shí)間不一致
如果在存入cookie時(shí)指定過(guò)期時(shí)間,但是在獲取cookie時(shí)已經(jīng)超過(guò)了過(guò)期時(shí)間,則獲取到的值為null。
舉個(gè)例子:
// 存入cookie時(shí)
setcookie('test', 'abc', time() + 3600, '/');
// 過(guò)了過(guò)期時(shí)間再獲取cookie時(shí)
sleep(3605);
$test = $_COOKIE['test'];
在這個(gè)例子中,存入cookie的過(guò)期時(shí)間為一小時(shí)后,但是在獲取cookie時(shí)已經(jīng)超過(guò)了過(guò)期時(shí)間,導(dǎo)致獲取到的值為null。
cookie跨域問(wèn)題
如果存入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)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。