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原创论坛
Oct 09 PHP
支持数组的ADDSLASHES的php函数
Feb 16 PHP
Joomla下利用configuration.php存储简单数据
May 19 PHP
PHP 飞信好友免费短信API接口开源版
Jul 22 PHP
php的sso单点登录实现方法
Jan 08 PHP
php计算两个整数的最大公约数常用算法小结
Mar 05 PHP
php使用memcoder将视频转成mp4格式的方法
Mar 12 PHP
php返回相对时间(如:20分钟前,3天前)的方法
Apr 14 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
Jun 12 PHP
PHP简单检测网址是否能够正常打开的方法
Sep 04 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 PHP
win10下 php安装seaslog扩展的详细步骤
Dec 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
main.php
2006/12/09 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
PHP数据库操作二:memcache用法分析
2017/08/16 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
实现JavaScript中继承的三种方式
2009/10/16 Javascript
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
jquery实现增加删除行的方法
2015/02/03 Javascript
jQuery背景插件backstretch使用指南
2015/04/21 Javascript
Backbone View 之间通信的三种方式
2016/08/09 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
详解Vue 2.0封装axios笔记
2017/06/22 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
2017/06/26 Javascript
ES6新增数据结构WeakSet的用法详解
2017/08/07 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
JS简易计算器实例讲解
2020/06/30 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
基于python 字符编码的理解
2017/09/02 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
python解析含有重复key的json方法
2019/01/22 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
生物化工工艺专业应届生求职信
2013/10/08 职场文书
毕业生求职自荐书范文
2014/03/27 职场文书
中介业务员岗位职责
2014/04/09 职场文书
室内趣味活动方案
2014/08/24 职场文书
九一八事变纪念日演讲稿
2014/09/14 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
办公室主任个人总结
2015/02/28 职场文书
详解Python自动化之文件自动化处理
2021/06/21 Python
Python尝试实现蒙特卡罗模拟期权定价
2022/04/21 Python