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+dbfile开发小型留言本
Oct 09 PHP
PHP写的资源下载防盗链类分享
May 12 PHP
php中print(),print_r(),echo()的区别详解
Dec 01 PHP
php实现图片转换成ASCII码的方法
Apr 03 PHP
PHP获取某个月最大天数(最后一天)的方法
Jul 29 PHP
Yii使用Captcha验证码的方法
Dec 28 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
Jan 08 PHP
thinkPHP简单遍历数组方法分析
May 16 PHP
PHP解耦的三重境界(浅谈服务容器)
Mar 13 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 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
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
yii中widget的用法
2014/12/03 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
通过javascript设置css属性的代码
2009/12/28 Javascript
Javascript中Event属性搜集整理
2013/09/17 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
2016/01/28 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
2016/11/03 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
浅谈JavaScript find 方法不支持IE的问题
2017/09/28 Javascript
微信小程序实现MUI数字输入框效果
2018/01/31 Javascript
Vue实现动态创建和删除数据的方法
2018/03/17 Javascript
详解webpack4升级指南以及从webpack3.x迁移
2018/06/12 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
Vue.js的模板语法详解
2020/02/16 Javascript
vuex的使用步骤
2021/01/06 Vue.js
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
Python实现配置文件备份的方法
2015/07/30 Python
python解决方案:WindowsError: [Error 2]
2016/08/28 Python
对pandas处理json数据的方法详解
2019/02/08 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
python中对二维列表中一维列表的调用方法
2020/06/07 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
个人简历自我评价
2014/02/02 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书
宪法宣传周工作方案
2014/05/26 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
领导班子在批评与自我批评座谈会上的发言
2014/09/28 职场文书
小学优秀教师先进事迹材料
2014/12/16 职场文书
一个独生女的故事观后感
2015/06/04 职场文书