這個標題不是很嚴格,應該說可以使用點號的cookie名,但會被轉換,你命名乙個cookie:
$_cookie[『my.name'] = 1;
實際上你不能通過'my.name'在cookie中查詢到這個值,只能是'my_name':
echo $_cookie[『my_name'];
php已經自動幫你進行了轉化,句點轉為了下劃線。
php為什麼要這樣做呢?這是因為$_get/$_post/$_server/$_cookie。。。這些全域性函式的值,在之前的許多版本中是可以通過register_globals引數在本地中直接訪問這些值的,比如開啟register_globals = on後,訪問$my_name直接取值為1。如果是$my.name的話,則不符合php變數命名原則,這不單是句號(.)的問題。
因此,$_cookie的命名已經符合php命名標準。
另外開啟register_globals是乙個很糟糕程式設計客棧的決定,因為它可能會覆蓋指令碼中wjotapklh原來的值,比如:
// other code
if ($a)
$uc_is_login = true;www.cppcns.com
// ...
使用者只需要傳送乙個url?a=1的hwww.cppcns.comttp請求就可以預設已經登陸。這是個很危險的做法,應該把它關閉。實際上php6已經去除了這個選項。
本文標題: php cookie名使用點號(句號)會被轉換
本文位址: /wangluo/php/115268.html
linux shell 點號 空格 檔名
今天在看 etc init.d nginx指令碼時,發現指令碼中存在大量行為 點號 空格 檔名 甚是不解。比如檔案開始的幾行 if r etc default nginx then etc default nginx fi.lib init vars.sh lib lsb init function...
Shell指令碼中點號 檔名的作用
linux中乙個檔案是根據其是否具有執行屬性來判斷他是否可以直接執行的。就像windows下的exe一樣 如果我們要執行某乙個檔案,可以先將其許可權修改為可執行 必須是所有者或者root才能修改 然後 通過用sh來執行該指令碼或者.指令碼名。但有時候我們並不想修改檔案許可權,可能我們也沒有那個許可權...
php cookie 的使用和注意事項
setcookie 設定cookie 注釋 setcookie 函式必須位於標籤之前 語法setcookie name,value,expire,path,domain,secure 說明 name cookie名稱 value cookie儲存的值 expire 規定 cookie 的有效期。pa...