php中的cookie名為什么不可以使用點(diǎn)號(hào)-創(chuàng)新互聯(lián)

php中的cookie名為什么不可以使用點(diǎn)號(hào)?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

專注于為中小企業(yè)提供做網(wǎng)站、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)青云譜免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了超過(guò)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

這個(gè)標(biāo)題不是很嚴(yán)格,應(yīng)該說(shuō)可以使用點(diǎn)號(hào)的cookie名,但會(huì)被轉(zhuǎn)換,你命名一個(gè)cookie:

$_COOKIE[‘my.name'] = 1;

實(shí)際上你不能通過(guò)'my.name'在cookie中查找到這個(gè)值,只能是'my_name':

echo $_COOKIE[‘my_name'];

php已經(jīng)自動(dòng)幫你進(jìn)行了轉(zhuǎn)化,句點(diǎn)轉(zhuǎn)為了下劃線。

php為什么要這樣做呢?這是因?yàn)?_GET/$_POST/$_SERVER/$_COOKIE。。。這些全局函數(shù)的值,在之前的許多版本中是可以通過(guò)register_globals參數(shù)在本地中直接訪問(wèn)這些值的,比如開啟register_globals = on后,訪問(wèn)$my_name直接取值為1。如果是$my.name的話,則不符合php變量命名原則,這不單是句號(hào)(.)的問(wèn)題。

因此,$_COOKIE的命名已經(jīng)符合php命名標(biāo)準(zhǔn)。

另外開啟register_globals是一個(gè)很糟糕的決定,因?yàn)樗赡軙?huì)覆蓋腳本中原來(lái)的值,比如:

// other code
if ($a)
$uc_is_login = true;
// ...

用戶只需要發(fā)送一個(gè)url?a=1的http請(qǐng)求就可以默認(rèn)已經(jīng)登陸。這是個(gè)很危險(xiǎn)的做法,應(yīng)該把它關(guān)閉。實(shí)際上php6已經(jīng)去除了這個(gè)選項(xiàng)。

看完上述內(nèi)容,你們掌握php中的cookie名為什么不可以使用點(diǎn)號(hào)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

當(dāng)前題目:php中的cookie名為什么不可以使用點(diǎn)號(hào)-創(chuàng)新互聯(lián)
分享路徑:http://muchs.cn/article18/shddp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、企業(yè)網(wǎng)站制作、建站公司面包屑導(dǎo)航、網(wǎng)站制作虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司