The PHP cookie can not use the dot (period), is not very strict, it should be said can use the dot number of the cookie name, but will be converted, you name a cookie:
$_cookie[' my.name '] = 1;
You can't actually find this value in a cookie by ' my.name ', Only ' my_name ':
echo $_cookie[' My_name '];
PHP has been automatically converted for you, and the period turns to underline.
Why does PHP do this? This is because $_get/$_post/$_server/$_cookie ... The values of these global functions, in many previous versions, can be accessed directly locally via the register_globals parameter, such as when register_globals = On is opened, and the access $my_name takes a direct value of 1. If it is $my.name, it does not conform to the PHP variable naming principle, this is not just a period (.) problem.
Therefore, the naming of $_cookie has already met the PHP naming standard.
Opening register_globals is a bad decision because it may overwrite the original values in the script, such as:
Other code
if ($a)
$uc _is_login = true;
// ...
Users only need to send a url?a=1 HTTP request can be logged by default. This is a very dangerous practice and should be turned off. In fact, PHP6 has removed this option.