PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法


Posted in PHP onJanuary 06, 2013

最近在做公司项目的时候,发现一个奇怪的问题,递交一个正常表单,竟然发现不能正常获取到递交的值,这一发现,不免让我开始的时候一头雾水,开始的时候一度认为是我的服务有问题,不能正常的写入数据库,后来侦测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 相关文章推荐
实用函数2
Nov 08 PHP
php 执行系统命令的方法
Jul 07 PHP
php下mysql数据库操作类(改自discuz)
Jul 03 PHP
PHP加密函数 Javascript/Js 解密函数
Sep 23 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
Mar 17 PHP
php上传文件并存储到mysql数据库的方法
Mar 16 PHP
PHP如何将log信息写入服务器中的log文件
Jul 29 PHP
PHP6新特性分析
Mar 03 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
浅谈PHP array_search 和 in_array 函数效率问题
Oct 15 PHP
Fine Uploader文件上传组件应用介绍
Jan 06 #PHP
PDO版本问题 Invalid parameter number: no parameters were bound
Jan 06 #PHP
PHPEXCEL 使用小记
Jan 06 #PHP
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
Jan 06 #PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
Dec 29 #PHP
PHP数组无限分级数据的层级化处理代码
Dec 29 #PHP
php学习笔记之面向对象编程
Dec 29 #PHP
You might like
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
适合PHP初学者阅读的4本经典书籍
2016/09/23 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
javascript void(0)的妙用
2009/10/21 Javascript
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
jQuery EasyUI API 中文文档 - Documentation 文档
2011/09/29 Javascript
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
Nodejs实现批量下载妹纸图
2015/05/28 NodeJs
JavaScript中的slice()方法使用详解
2015/06/06 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
2020/02/02 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
2020/08/28 Javascript
[01:10]DOTA2次级职业联赛 - EP战队宣传片
2014/12/01 DOTA
[35:43]2018DOTA2亚洲邀请赛 4.1 小组赛B组 paiN vs Effect
2018/04/03 DOTA
Python编程之多态用法实例详解
2015/05/19 Python
Python unittest模块用法实例分析
2018/05/25 Python
在IPython中进行Python程序执行时间的测量方法
2018/11/01 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
Halston Heritage官网:简洁的日装,稍显奢华的晚装
2018/11/20 全球购物
世界顶级户外运动品牌折扣网站:LeftLane Sports
2019/06/12 全球购物
什么是java序列化,如何实现java序列化
2012/11/14 面试题
20年同学聚会感言
2014/02/03 职场文书
大学生学习2014年全国两会心得体会
2014/03/12 职场文书
财务会计大学生自我评价
2014/04/09 职场文书
小学教师党员承诺书
2015/04/27 职场文书
2016年基层党支部书记公开承诺书
2016/03/25 职场文书
二手手机买卖合同范本(2019年版)
2019/10/28 职场文书
golang内置函数len的小技巧
2021/07/25 Golang
mysql事务隔离级别详情
2021/10/24 MySQL