php cookie中点号(句号)自动转为下划线问题


Posted in PHP onOctober 21, 2014

php cookie中不能使用点号(句号),实际上不是很严格,应该说可以使用点号的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是一个很糟糕的决定,因为它可能会覆盖脚本中原来的值,比如:

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

用户只需要发送一个url?a=1的http请求就可以默认已经登陆。这是个很危险的做法,应该把它关闭。实际上php6已经去除了这个选项。

PHP 相关文章推荐
基于mysql的bbs设计(二)
Oct 09 PHP
vBulletin HACK----关于排版的两个HACK
Oct 09 PHP
亲密接触PHP之PHP语法学习笔记1
Dec 17 PHP
实用函数4
Nov 08 PHP
深入理解php的MySQL连接类
Jun 07 PHP
PHP图片上传代码
Nov 04 PHP
PHP实现多图片上传类实例
Jul 26 PHP
详解Laravel视图间共享数据与视图Composer
Aug 04 PHP
浅谈PHP中try{}catch{}的使用方法
Dec 09 PHP
解析 thinkphp 框架中的部分方法
May 07 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 #PHP
php时间戳格式化显示友好的时间函数分享
Oct 21 #PHP
ThinkPHP整合百度Ueditor图文教程
Oct 21 #PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 #PHP
php读取目录及子目录下所有文件名的方法
Oct 20 #PHP
php中的字符编码转换函数用法示例
Oct 20 #PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
Oct 20 #PHP
You might like
一个程序下载的管理程序(二)
2006/10/09 PHP
PHP安装攻略:常见问题解答(三)
2006/10/09 PHP
快速开发一个PHP扩展图文教程
2008/12/12 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
大家须知简单的php性能优化注意点
2016/01/04 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
JavaScript中的函数声明和函数表达式区别浅析
2015/03/27 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
Nodejs中 npm常用命令详解
2016/07/04 NodeJs
angularjs中ng-attr的用法详解
2016/12/31 Javascript
js实现符合国情的日期插件详解
2017/01/19 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
详解React 条件渲染
2020/07/08 Javascript
解决Mac安装scrapy失败的问题
2018/06/13 Python
Python使用while循环花式打印乘法表
2019/01/28 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
Python中if有多个条件处理方法
2020/02/26 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
利用css3制作3D样式按钮实现代码
2013/03/18 HTML / CSS
工资证明范本
2015/06/12 职场文书
初三英语教学反思
2016/02/15 职场文书
解决Golang中goroutine执行速度的问题
2021/05/02 Golang
为什么你写的height:100%不起作用
2021/05/10 HTML / CSS
React forwardRef的使用方法及注意点
2021/06/13 Javascript
一小时学会TensorFlow2之基本操作2实例代码
2021/09/04 Python
一次Mysql update sql不当引起的生产故障记录
2022/04/01 MySQL