<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="php cookie命名规则中点号（句号）自动转为下划线问题 register_globals" id="card1">
<p> 游客</p><p>
标题:php cookie命名规则中点号（句号）自动转为下划线问题 register_globals<br/>
正文:<br/>
php cookie中不能使用点号（句号），实际上不是很严格，应该说可以使用点号的cookie名，但会被转换，你命名一个cookie:$_COOKIE[&amp;lsquo;my.name'] = 1; 实际上你不能通过'my.name'在cookie中查找到这个值，只能是'my_name':echo $_COOKIE[&amp;lsquo;my_name']; php已经自动帮你进行了转化，句点转为了下划线。php为什么要这样做呢？这是因为$_GET/$_POST/$_SERVER/$_COOKIE。。。这些全局函数的值，在之前的许多版本中是可以通过register_globals参数在本地中直接访问这些值的，比如开启register_globals = on后，访问$my_name直接取值为1。如果是$my.name的话，则不符合php变量命名原则，这不单是句号（.）的问题。因此，$_COOKIE的命名已经符合php命名标准。另外开启register_globals是一个很糟糕的决定，因为它可能会覆盖脚本中原来的值，比如：// other codeif ($a)    $uc_is_login = true;// ... 用户只需要发送一个url?a=1的http请求就可以默认已经登陆。这是个很危险的做法，应该把它关闭。实际上php6已经去除了这个选项。<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1929&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1929&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1929&amp;Page=1">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1929">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1929">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>