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中的integer类型使用分析
Jul 27 PHP
mysql,mysqli,PDO的各自不同介绍
Sep 19 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
Apr 25 PHP
基于php设计模式中单例模式的应用分析
May 15 PHP
php实现上传图片生成缩略图示例
Apr 13 PHP
php使用正则表达式获取图片url的方法
Jan 16 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
php根据生日计算年龄的方法
Jul 13 PHP
php禁用cookie后session设置方法分析
Oct 19 PHP
详解Yii实现分页的两种方法
Jan 14 PHP
thinkphp中U方法按路由规则生成url的方法
Mar 12 PHP
Jsonp劫持学习
Apr 01 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
第四节--构造函数和析构函数
2006/11/16 PHP
PHP反转字符串函数strrev()函数的用法
2012/02/04 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
JavaScript.Encode手动解码技巧
2010/07/14 Javascript
js 如何实现对数据库的增删改查
2012/11/23 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
2014/06/13 Javascript
JavaScript实现生成GUID(全局统一标识符)
2014/09/05 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
基于jQuery实现网页打印功能
2015/12/01 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
javascript self对象使用详解
2016/10/18 Javascript
Node.js连接mongodb实例代码
2017/06/06 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
element-ui 设置菜单栏展开的方法
2018/08/22 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
2019/11/20 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
Python中__init__和__new__的区别详解
2014/07/09 Python
Python中文字符串截取问题
2015/06/15 Python
python开发之for循环操作实例详解
2015/11/12 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
对numpy中shape的深入理解
2018/06/15 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
python实现的发邮件功能示例
2019/09/11 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
python列表生成器迭代器实例解析
2019/12/19 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
英国领先的杂志订阅网站:Magazine.co.uk
2018/01/25 全球购物
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
毕业生求职找工作的自我评价范文
2013/11/27 职场文书
CSS基础详解
2021/10/16 HTML / CSS
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android