20,359
社区成员
发帖
与我相关
我的任务
分享
Array ( [question] => 你爱啊"啊 )
//在测试的时候,我们发现有的php5会将表单自动转义,所以我们需要处理一下。
//可以通过php.ini来关闭此功能;或者通过一个函数来判断是否开启了自动转义,然后再进行过滤处理。
//当magic_quotes_gpc=On的时候,函数get_magic_quotes_gpc()就会返回1
//当magic_quotes_gpc=Off的时候,函数get_magic_quotes_gpc()就会返回0(我用的是wamp套件,默认关闭)
//mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符
//创建一个自动转义状态的常量
define('GPC',get_magic_quotes_gpc());
function _mysql_string($_string) {
//如果没有开启状态,那么就需要转义
if (!GPC) {
return mysql_real_escape_string($_string);
}
return $_string;
}
function _check_question($_string,$_min_num,$_max_num) {
$_string = trim($_string);
if (mb_strlen($_string,'utf-8') < $_min_num || mb_strlen($_string,'utf-8') > $_max_num) {
ShowMsg('密码提示不得小于'.$_min_num.'位或者大于'.$_max_num.'位','');
}
//返回密码提示
return _mysql_string($_string);
}
define('MAGIC_QUOTES_GPC',function_exists('get_magic_quotes_gpc')&&get_magic_quotes_gpc());
function _mysql_string($_string) {
//如果没有开启状态,那么就需要转义
if (!MAGIC_QUOTES_GPC) {
return mysql_real_escape_string($_string);
}
return $_string;
}
上面这段代码就是和我以前的差不多就是修改了define,效果就出来了
但是我搞不懂,为什么要确定这个函数存不存在
function_exists('get_magic_quotes_gpc')&&get_magic_quotes_gpc()
同时还用了&&,看不懂!!!!!
最后还有一个问题就是既然转义只能是英文状态下的符号,但是中文状态下输入的就不转义了