分享:php处理HTML表单控件中的特殊符号

发布时间:2020-05-17编辑:脚本学堂
本文介绍下,在php编程中,处理html表单控件命名中特殊符号的方法,举了二个实例供大家参考,有需要的朋友可以看看。

本节内容:
处理HTML表单控件命名中特殊符号的方法

一、magic_quotes_gpc = Off
html页面:
 

复制代码 代码示例:
<form action='1.php' method='get'>
    <input type='text' name=asd/f'gh/a.b.c/>
    <input type='submit' value='submit'>
</form>
 

其中text控件命名为:asd/f'gh/a.b.c/ ,将此页面提交到1.php进行处理,method用get还是post方法无所谓。

1.php
 

复制代码 代码示例:
<?php
print_r($_GET);
echo '<br>';
print $_GET['asd/f/'gh/a_b_c/']
?>
 

输入ssssssss点击提交,显示:
 

Array ( [asd/f'gh/a_b_c/] => ssssssss )
ssssssss
 

总结:input控件命名中的点号变为下划线。
另注:asp中input控件命名中的点号不变,取变量可用:Request.QueryString("asd/f'gh/a.b.c/")。

二、magic_quotes_gpc = On
1.php改为
 

复制代码 代码示例:
<?php
print_r($_GET);
echo '<br>';
print $_GET['asd/f///'gh/a_b_c/']
?>
 

提交后显示:
 

Array ( [asd/f/'gh/a_b_c/] => ssssssss )
ssssssss
 

总结:
input控件命名中的点号变为下划线;
并且单引号被自动加上一个反斜线进行转义,所以名字中增加了反斜线,在php中取传递来的值时,要对GET变量名中的反斜线进行转义。