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 相关文章推荐
生成缩略图
Oct 09 PHP
PHP输出时间差函数代码
Jan 28 PHP
php set_time_limit()函数的使用详解
Jun 05 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
Jun 22 PHP
php实现无限级分类(递归方法)
Aug 06 PHP
Smarty模板变量调节器用法分析
May 23 PHP
php实现学生管理系统
Mar 21 PHP
php_pdo 预处理语句详解
Nov 21 PHP
php 三元运算符实例详细介绍
Dec 15 PHP
PHP中include()与require()的区别说明
Feb 14 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
Nov 14 PHP
php json转换相关知识(小结)
Dec 21 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
第二节 对象模型 [2]
2006/10/09 PHP
php发送get、post请求的6种方法简明总结
2014/07/08 PHP
thinkphp循环结构用法实例
2014/11/24 PHP
php常用正则函数实例小结
2016/12/29 PHP
php封装一个异常的处理类
2017/06/08 PHP
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
基于jquery完美拖拽,可返回拖动轨迹
2012/03/29 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
实用jquery操作表单元素的简单代码
2016/07/04 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
2017/01/22 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
Angular 数据请求的实现方法
2018/05/07 Javascript
vue.js input框之间赋值方法
2018/08/24 Javascript
React和Vue中监听变量变化的方法
2018/11/14 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python使用三角迭代计算圆周率PI的方法
2015/03/20 Python
十条建议帮你提高Python编程效率
2016/02/16 Python
详解Python设计模式编程中观察者模式与策略模式的运用
2016/03/02 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
关于python pyqt5安装失败问题的解决方法
2017/08/08 Python
基于python检查矩阵计算结果
2020/05/21 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
你在项目中用到了xml技术的哪些方面?如何实现的?
2014/01/26 面试题
销售经理工作失职检讨书
2014/10/24 职场文书
大学生助学金感谢信
2015/01/21 职场文书
Django实现drf搜索过滤和排序过滤
2021/06/21 Python