当前位置: 首页 > 编程笔记 >

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

芮祺
2023-03-14
本文向大家介绍php cookie中点号(句号)自动转为下划线问题,包括了php cookie中点号(句号)自动转为下划线问题的使用技巧和注意事项,需要的朋友参考一下

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已经去除了这个选项。

 类似资料:
  • 我正在尝试用下划线替换逗号、句号、连字符和空格。我尝试了以下方法,但在字符类中错误

  • 我正在编写文件上传页面脚本(Javascript)。用户从他们的机器中选择一个文件。 我需要从包含文件名的字符串中删除任何不是: 一封信 我一直在尝试使用Javascript替换函数来删除不必要的字符。我可以使用以下方法删除所有非字母数字部分: 这会留下字母、数字和下划线,但我还需要允许破折号和句点。我不确定选择破折号和句点的正确正则表达式是什么。

  • 本文向大家介绍php cookie名使用点号(句号)会被转换,包括了php cookie名使用点号(句号)会被转换的使用技巧和注意事项,需要的朋友参考一下 这个标题不是很严格,应该说可以使用点号的cookie名,但会被转换,你命名一个cookie: $_COOKIE[‘my.name'] = 1; 实际上你不能通过'my.name'在cookie中查找到这个值,只能是'my_name': echo

  • 问题内容: 我在Java EE服务器上使用GSON为视图提供一些json。在某个对象中,我有很长的文字,可以包含任何内容(例如“多么的“好”新闻!”)。 我很惊讶,默认情况下,GSON不会转义双引号,因此它不会生成有效的JSON。 有这样做的好方法吗? 问题答案: 也许我不理解您的问题,但是我能够让GSON处理带引号的字符串,而无需进行任何设置或更改。 输出: 也许我不明白您的要求?

  • 问题内容: 而且我似乎无法理解这种变量声明: 究竟在做什么,为什么他们这样声明变量而不是 (我发现它是Go by Example:Maps的一部分) 问题答案: 它避免了必须为返回值声明所有变量。 它称为 空白标识符 。 如: (另一个’ ‘用例用于导入) 由于它丢弃了返回值,因此在您只想检查返回的值之一时很有用,例如“ EffectureGo,map ”中所示的“如何测试映射中键的存在? 要在地

  • 问题内容: 我试图理解下面两个require语句之间的区别。 具体来说,s包装的目的是什么? 它们似乎都分配了电子模块的内容,但是它们的功能显然不同。 谁能给我一些启示? 问题答案: 第二个示例使用解构。 这将调用从所需模块导出的特定变量(包括函数)。 例如(functions.js): 包含在您的文件中: 现在您可以分别给他们打电话了, 相对于: 使用点表示法调用: 希望这可以帮助。 您可以在此