PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)


Posted in PHP onDecember 14, 2011

最近在做公司项目的时候,发现一个奇怪的问题,递交一个正常表单,竟然发现不能正常获取到递交的值,这一发现,不免让我开始的时候一头雾水,开始的时候一度认为是我的服务有问题,不能正常的写入数据库,后来侦测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中数据的批量导入(csv文件)
Oct 09 PHP
PHP中基本符号及使用方法
Mar 23 PHP
PHP与MySQL开发的8个技巧小结
Dec 17 PHP
php截取后台登陆密码的代码
May 05 PHP
PHP设计模式之结构模式的深入解析
Jun 13 PHP
CodeIgniter 完美解决URL含有中文字符串
May 13 PHP
PHP处理数组和XML之间的互相转换
Jun 02 PHP
利用PHP将图片转换成base64编码的实现方法
Sep 13 PHP
PHP实现活动人选抽奖功能
Apr 19 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
Sep 29 PHP
PHP crypt()函数的用法讲解
Feb 15 PHP
php中pcntl_fork详解
Apr 01 PHP
php中日期加减法运算实现代码
Dec 08 #PHP
php使用Smarty的相关注意事项及访问变量的几种方式
Dec 08 #PHP
在PHP中利用wsdl创建标准webservice的实现代码
Dec 07 #PHP
PHP新手NOTICE错误常见解决方法
Dec 07 #PHP
PHPExcel读取Excel文件的实现代码
Dec 06 #PHP
PHP spl_autoload_register实现自动加载研究
Dec 06 #PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 #PHP
You might like
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
使用NetBeans + Xdebug调试PHP程序的方法
2011/04/12 PHP
php使用指定编码导出mysql数据到csv文件的方法
2015/03/31 PHP
PHP实现递归复制整个文件夹的类实例
2015/08/03 PHP
PHP微信红包API接口
2015/12/05 PHP
微信公众平台开发-微信服务器IP接口实例(含源码)
2017/03/05 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
JavaScript函数、方法、对象代码
2008/10/29 Javascript
js确定对象类型方法
2012/03/30 Javascript
js通过location.search来获取页面传来的参数
2014/09/11 Javascript
JavaScript 学习笔记之数据类型
2015/01/14 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
Vue中el-form标签中的自定义el-select下拉框标签功能
2020/04/20 Javascript
微信小程序实现可长按移动控件
2020/11/01 Javascript
[01:46]新英雄登场
2019/09/10 DOTA
Python写的Socks5协议代理服务器
2014/08/06 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
Python3处理HTTP请求的实例
2018/05/10 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
使用pycharm和pylint检查python代码规范操作
2020/06/09 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
StubHub巴西:购买和出售您的门票
2016/07/22 全球购物
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
领先的英国注册在线药房 :Simply Meds Online
2019/03/28 全球购物
标记环介质访问控制协议
2016/03/27 面试题
手机促销活动方案
2014/02/05 职场文书
老师对学生的评语
2014/04/18 职场文书
垃圾桶标语
2014/06/24 职场文书
安装工程师岗位职责
2015/02/13 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
创业计划书之面包店
2019/09/12 职场文书
Python入门学习之类的相关知识总结
2021/05/25 Python
Canvas绘制像素风图片的示例代码
2021/09/25 HTML / CSS