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求小于1000的所有水仙花数的代码
Jan 10 PHP
解析php5配置使用pdo
Jul 03 PHP
php批量更改数据库表前缀实现方法
Oct 26 PHP
php不写闭合标签的好处
Mar 04 PHP
php插入排序法实现数组排序实例
Feb 16 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
Mar 17 PHP
php使用MySQL保存session会话的方法
Jun 18 PHP
CI框架扩展系统核心类的方法分析
May 23 PHP
ecshop适应在PHP7的修改方法解决报错的实现
Nov 01 PHP
laravel学习笔记之模型事件的几种用法示例
Aug 15 PHP
PHP时间函数使用详解
Mar 21 PHP
微信小程序和php的登录实现
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
解决GD中文乱码问题
2007/02/14 PHP
php Rename 更改文件、文件夹名称
2011/05/24 PHP
PHP调用MySQL存储过程并返回值的方法
2014/12/26 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
自定义require函数让浏览器按需加载Js文件
2016/11/24 Javascript
vue.js框架实现表单排序和分页效果
2017/08/09 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
vue购物车插件编写代码
2017/11/27 Javascript
新手必须知的Node.js 4个JavaScript基本概念
2018/09/16 Javascript
JavaScript常用工具方法封装
2019/02/12 Javascript
vue实现搜索功能
2019/05/28 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
python实现批量下载新浪博客的方法
2015/06/15 Python
python实现文本文件合并
2015/12/29 Python
请不要重复犯我在学习Python和Linux系统上的错误
2016/12/12 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
python实现复制大量文件功能
2019/08/31 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
python GUI模拟实现计算器
2020/06/22 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
python中scrapy处理项目数据的实例分析
2020/11/22 Python
基于canvas使用贝塞尔曲线平滑拟合折线段的方法
2018/01/10 HTML / CSS
生态学毕业生自荐信
2013/10/27 职场文书
趣味游戏活动方案
2014/02/07 职场文书
认识深刻的检讨书
2014/02/16 职场文书
职务说明书范文
2014/05/07 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
升学宴学生致辞
2015/09/29 职场文书
导游词之北京明十三陵
2019/10/28 职场文书
mysql如何配置白名单访问
2021/06/30 MySQL