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 12 PHP
php生成略缩图代码
Jul 16 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
Nov 26 PHP
PHP字符串的递增和递减示例介绍
Feb 11 PHP
初识php MVC
Sep 10 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
Mar 19 PHP
ThinkPHP文件缓存类代码分享
Apr 22 PHP
php简单解析mysqli查询结果的方法(2种方法)
Jun 29 PHP
PHP用户注册邮件激活账户的实现代码
May 31 PHP
实例讲解php实现多线程
Jan 27 PHP
php swoft框架实例用法
Dec 22 PHP
PHP高并发和大流量解决方案整理
Mar 09 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
php2html php生成静态页函数
2008/12/08 PHP
一个经典的PHP文件上传类分享
2014/11/18 PHP
php和editplus正则表达式去除空白行
2015/04/17 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
sina的lightbox效果。
2007/01/09 Javascript
JavaScript Object的extend是一个常用的功能
2009/12/02 Javascript
jquery.validate使用攻略 第三部
2010/07/01 Javascript
jquery选择器(常用选择器说明)
2010/09/28 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
Bootstrap学习笔记之环境配置(1)
2016/12/07 Javascript
Angular2搜索和重置按钮过场动画
2017/05/24 Javascript
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
2019/09/26 Javascript
小程序如何自主实现拦截器的示例代码
2019/11/04 Javascript
[47:20]DAC2018 4.4 淘汰赛 Optic vs Mineski 第一场
2018/04/05 DOTA
Python中的 is 和 == 以及字符串驻留机制详解
2019/06/28 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
OpenCV python sklearn随机超参数搜索的实现
2020/01/17 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
小学运动会入场式解说词
2014/02/18 职场文书
医学生职业生涯规划书范文
2014/03/13 职场文书
网络宣传方案
2014/03/15 职场文书
校园安全演讲稿
2014/05/09 职场文书
公司副总经理任命书
2014/06/05 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
百家讲坛观后感
2015/06/12 职场文书
学习杨善洲同志先进事迹心得体会
2016/01/23 职场文书
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL
对讲机知识
2022/04/07 无线电
uniapp开发打包多端应用完整方法指南
2022/12/24 Javascript