php cookie名使用点号(句号)会被转换_PHP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:php格式化时间戳显示友好的时间实现思路及代码
在项目中时间一律显示为2014-10-20 10:22显得很呆板。在微博、QQ空间等网站通常会显示为几秒前,几分钟前,几小时前等容易阅读的时间,我们称之为友好的时间格式。那么用php怎么实现呢? 大体思路如下: 如果是跨年并且大于3天就显示为具体的时间 如果是今天的 如果是一

   这个标题不是很严格,应该说可以使用点号的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中加密解密函数与DES加密解密实例
例子,php加密解密的例子 加密函数: 代码如下:/* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand((double)microtime() * 1000000); $encrypt_key=md5(rand(0, 32000)); $ctr=0; $tmp

来源:模板无忧//所属分类:PHP教程/更新时间:2014-10-26
相关PHP教程