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 相关文章推荐
PHP与javascript的两种交互方式
Oct 09 PHP
PHP教程 预定义变量
Oct 23 PHP
几款免费开源的不用数据库的php的cms
Dec 19 PHP
openflashchart 2.0 简单案例php版
May 21 PHP
一个PHP并发访问实例代码
Sep 06 PHP
将时间以距今多久的形式表示,PHP,js双版本
Sep 25 PHP
PHP中数组的分组排序实例
Jun 01 PHP
mantis安装、配置和使用中的问题小结
Jul 14 PHP
CI框架中cookie的操作方法分析
Dec 12 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
May 13 PHP
如何正确配置Nginx + PHP
Jul 15 PHP
PHPExcel导出2003和2007的excel文档功能示例
Jan 04 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
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
destoon数据库表说明汇总
2014/07/15 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
2013/12/01 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
js中用window.open()打开多个窗口的name问题
2014/03/13 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
详解handlebars+require基本使用方法
2016/12/21 Javascript
thinkjs之页面跳转同步异步操作
2017/02/05 Javascript
nodejs个人博客开发第七步 后台登陆
2017/04/12 NodeJs
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
vue-lazyload图片延迟加载插件的实例讲解
2018/02/09 Javascript
Vue页面骨架屏注入方法
2018/05/13 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
基于vue.js组件实现分页效果
2018/12/29 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
2020/01/12 Javascript
基于Pandas读取csv文件Error的总结
2018/06/15 Python
在python中按照特定顺序访问字典的方法详解
2018/12/14 Python
基于Pytorch SSD模型分析
2020/02/18 Python
python线程池如何使用
2020/05/28 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
Django如何实现防止XSS攻击
2020/10/13 Python
Pandas DataFrame求差集的示例代码
2020/12/13 Python
css3学习心得分享
2013/08/19 HTML / CSS
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
Moda Italia荷兰:意大利男士服装
2019/08/31 全球购物
婚内分居协议书范文
2014/11/26 职场文书
离婚被告代理词
2015/05/23 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers