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简单封装了一些常用JS操作
Feb 25 PHP
功能齐全的PHP发送邮件类代码附详细说明
Jul 10 PHP
PHP 柱状图实现代码
Dec 04 PHP
php中使用cookie来保存用户登录信息的实现代码
Mar 08 PHP
PHP连接操作access数据库实例
Mar 30 PHP
php生成年月日下载列表的方法
Apr 24 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 PHP
Zend Framework入门应用实例详解
Dec 11 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
May 12 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
Aug 15 PHP
实例讲解PHP表单验证功能
Feb 15 PHP
YII2 全局异常处理深入讲解
Mar 24 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 无限级缓存的类的扩展
2009/03/16 PHP
php 空格,换行,跳格使用说明
2009/12/18 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
2010/06/04 PHP
hadoop中一些常用的命令介绍
2013/06/19 PHP
PHP安全上传图片的方法
2015/03/21 PHP
javascript 函数式编程
2007/08/16 Javascript
extjs 列表框(multiselect)的动态添加列表项的方法
2009/07/31 Javascript
js 居中漂浮广告
2010/03/21 Javascript
jQuery弹出(alert)select选择的值
2013/04/21 Javascript
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
jquery获取tagName再进行判断
2014/05/29 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
jquery仿京东侧边栏导航效果
2017/03/02 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
2017/03/04 Javascript
jQuery实现表格冻结顶栏效果
2017/08/20 jQuery
详解webpack与SPA实践之开发环境搭建
2017/12/18 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
python获取mp3文件信息的方法
2015/06/15 Python
Python 读写文件和file对象的方法(推荐)
2016/09/12 Python
利用python程序帮大家清理windows垃圾
2017/01/15 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
使用 Python 处理3万多条数据只要几秒钟
2020/01/19 Python
Python生成器next方法和send方法区别详解
2020/05/30 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
深入理解css中vertical-align属性
2017/04/18 HTML / CSS
利用CSS3的3D效果制作正方体
2020/03/10 HTML / CSS
世界顶级俱乐部的官方球衣和套装:Subside Sports
2018/04/22 全球购物
杭州时比特电子有限公司SQL
2013/08/22 面试题
2013年研究生毕业感言
2014/02/06 职场文书
求职信怎么写范文
2014/05/26 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
《倍数和因数》教学反思
2016/02/23 职场文书
python处理json数据文件
2022/04/11 Python