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 的 __FILE__ 常量
Jan 15 PHP
php mysql索引问题
Jun 07 PHP
ThinkPHP3.1数据CURD操作快速入门
Jun 19 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
Nov 20 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
May 12 PHP
php简单smarty入门程序实例
Jun 11 PHP
帝国cms目录结构分享
Jul 06 PHP
PHP魔术方法使用方法汇总
Feb 14 PHP
PHP验证类的封装与使用方法详解
Jan 10 PHP
Laravel 登录后清空COOKIE的操作方法
Oct 14 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 PHP
php+mysql实现的无限分类方法类定义与使用示例
May 27 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
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
2018/07/10 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
jquery ajax 请求小技巧实例分析
2019/11/11 jQuery
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
Python标准库内置函数complex介绍
2014/11/25 Python
python机器人行走步数问题的解决
2018/01/29 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
Python应用库大全总结
2018/05/30 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
用pytorch的nn.Module构造简单全链接层实例
2020/01/14 Python
python手写均值滤波
2020/02/19 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
迪斯尼商品官方网站:ShopDisney
2016/08/01 全球购物
eVitamins日本:在线购买折扣维生素、补品和草药
2019/04/04 全球购物
枚举和一组预处理的#define有什么不同
2016/09/21 面试题
中学生在校期间的自我评价分享
2013/11/13 职场文书
中国梦的演讲稿
2014/01/08 职场文书
公司授权委托书
2014/04/04 职场文书
消防宣传口号
2014/06/16 职场文书
尊老爱亲美德少年事迹材料
2014/08/14 职场文书
方法汇总:Python 安装第三方库常用
2022/04/26 Python
德生TECSUN S-2000使用手册文字版
2022/05/10 无线电
Python Matplotlib绘制动画的代码详解
2022/05/30 Python