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可能遇到的问题“无法载入mysql扩展” 的解决方法
Apr 16 PHP
用PHP与XML联手进行网站编程代码实例
Jul 10 PHP
学习使用curl采集curl使用方法
Jan 11 PHP
那些年一起学习的PHP(一)
Mar 21 PHP
基于php权限分配的实现代码
Apr 28 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
Sep 12 PHP
php利用scws实现mysql全文搜索功能的方法
Dec 25 PHP
详细解读PHP的Yii框架中登陆功能的实现
Aug 21 PHP
[原创]PHP简单开启curl的方法(测试可行)
Jan 11 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
May 05 PHP
php 后端实现JWT认证方法示例
Sep 04 PHP
解决在Laravel 中处理OPTIONS请求的问题
Oct 11 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开发文件系统实例讲解
2006/10/09 PHP
adodb与adodb_lite之比较
2006/12/31 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
PHP观察者模式定义与用法实例分析
2019/03/22 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
AJAX架构之Dojo篇
2007/04/10 Javascript
基于javascript 闭包基础分享
2013/07/10 Javascript
各种常用的JS函数整理
2013/10/25 Javascript
jQuery操作Select的Option上下移动及移除添加等等
2013/11/18 Javascript
javascript类型转换示例
2014/04/29 Javascript
jQuery qrcode生成二维码的方法
2016/04/03 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
JavaScript实现图片切换效果
2017/08/12 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
React 组件渲染和更新的实现代码示例
2019/02/21 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
Python守护线程用法实例
2017/06/23 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
萌新HTML5 入门指南(二)
2020/11/09 HTML / CSS
南威尔士家居商店:Leekes
2016/10/25 全球购物
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
酒店管理求职信范文
2014/04/06 职场文书
初中英语演讲稿
2014/04/29 职场文书
社区优秀志愿者先进事迹
2014/05/09 职场文书
场地使用证明模板
2014/10/25 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python
教你怎么用python实现字符串转日期
2021/05/24 Python
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python