PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)


Posted in PHP onDecember 14, 2011

最近在做公司项目的时候,发现一个奇怪的问题,递交一个正常表单,竟然发现不能正常获取到递交的值,这一发现,不免让我开始的时候一头雾水,开始的时候一度认为是我的服务有问题,不能正常的写入数据库,后来侦测SQL语句发现,原来问题竟然出现在获取数据上,获取到的数据竟然都是空的,后来一调试发现,原来递交到后端的所有变量,都已经不是预期中的变量,竟然被PHP转化了。
提供测试代码如下:

<html> 
<head> 
<title>测试表单提交</title> 
</head> 
<body> 
<form action="" method="post"> 
名字:<input type="text" value="test" name="info.name" /><br/> 
密码: <input type="text" value="hahaha" name="info.pwd" /><br/> 
QQ: <input type="text" value="961412" name=".info.qq" /><br/> 
住址: <input type="text" value="zhejiang" name="info|address" /><br/> 
电话: <input type="text" value="123456789" name="1——phone" /><br/> 
性别: <input type="radio" name="info_gender" value="1" checked>男 <input type="radio" name="info_gender" value="2">女<br/> 
<button type="submit" name="submit" value=""> commit</button> 
</form> 
</body> 
</html> 
<?php 
if ($_POST) { 
echo '<pre/>'; 
var_export($_POST); 
} 
?>

代码实例1
运行之后结果如下:

PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)

图1
可以看到,所有我在控件中含有的.号,都被后端转化成了_下划线,为了测试其他的一些符号,所以做了如上的测试,至今为止,仅发现点号(.)会被转化为下划线(_),所以导致在后端我想当然的用info.name去访问的时候,不能发现,因为它其实已经被转化成了info_name。

所以以后大家在使用表单的时候,尽量不要用.命名。

PHP 相关文章推荐
PHP 地址栏信息的获取代码
Jan 07 PHP
php 获取页面中指定内容的实现类
Jan 23 PHP
smarty内置函数config_load用法实例
Jan 22 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
Jan 07 PHP
PHP的Yii框架中Model模型的学习教程
Mar 29 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
Dec 15 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
Jun 08 PHP
通过源码解析Laravel的依赖注入
Jan 22 PHP
PHP实现的CURL非阻塞调用类
Jul 26 PHP
PHP中使用mpdf 导出PDF文件的实现方法
Oct 22 PHP
php引用和拷贝的区别知识点总结
Sep 23 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
Apr 13 PHP
php中日期加减法运算实现代码
Dec 08 #PHP
php使用Smarty的相关注意事项及访问变量的几种方式
Dec 08 #PHP
在PHP中利用wsdl创建标准webservice的实现代码
Dec 07 #PHP
PHP新手NOTICE错误常见解决方法
Dec 07 #PHP
PHPExcel读取Excel文件的实现代码
Dec 06 #PHP
PHP spl_autoload_register实现自动加载研究
Dec 06 #PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 #PHP
You might like
如何在PHP程序中防止盗链
2008/04/09 PHP
php读取大文件示例分享(文件操作类)
2014/04/13 PHP
php常用文件操作函数汇总
2014/11/22 PHP
php自定义hash函数实例
2015/05/05 PHP
YII动态模型(动态表名)支持分析
2016/03/29 PHP
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
js获取页面description的方法
2015/05/21 Javascript
js文字横向滚动特效
2015/11/11 Javascript
第一次接触Bootstrap框架
2016/10/24 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
[01:36]极致酷炫!TI9典藏宝瓶+撼地者至宝展示
2019/06/11 DOTA
Python yield 使用浅析
2015/05/28 Python
python函数装饰器用法实例详解
2015/06/04 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
python django生成迁移文件的实例
2019/08/31 Python
学习Django知识点分享
2019/09/11 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
2014年公司迎新年活动方案
2014/02/24 职场文书
品质主管岗位职责
2014/03/16 职场文书
社区志愿者活动方案
2014/08/18 职场文书
物业管理委托协议(2篇)
2014/09/23 职场文书
店铺转让协议书
2014/12/02 职场文书
2015年护士节活动策划方案
2015/05/04 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python