php函数get_magic_quotes_gpc详解

set_magic_quotes_runtime是用来设置PHP 环境配置的变量 magic_quotes_runtime 值。
0-关闭 1-打开
程序中检测状态用get_magic_quotes_runtime,返回 0 表示关闭本功能;返回 1 表示本功能打开。若 magic_quotes_runtime 打开时,所有外部引入的数据库资料或者文件等等都会自动转为含有反斜线溢出字符的资料。

本 函数取得 PHP 环境配置的变量 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。返回 0 表示关闭本功能;返回 1 表示本功能打开。当 magic_quotes_gpc 打开时,所有的 ' (单引号), " (双引号), / (反斜线) and 空字符会自动加上转义符/;

默认情况下,PHP 指令magic_quotes_gpc为 on ,它主要是对所有的 GET、POST 和 COOKIE (即G P C)数据自动运行 addslashes() 。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes() ,因为这样会导致双层转义。遇到这种情况时可以使用函数  get_ magic_quotes_gpc() 进行检测。


其实这个函数就是判断有PHP有没有自动调用addslashes 这个函数,

下面是例子,其实也是从手册上弄下来的,传过来就为自己看着方便,因为自己记性不好..

 

< html >
    <!--以POST方式传过去一个带有单引号的字符串 -->
    
< body >
         
< form action ="first.php" method ="post" >
              
< input type ="text" name ="lastname" value ="Simao'pig" >
              
< input type ="submit" value ="提交" >
         
</ form >
    
</ body >     
    
</ html >

<?php
echo get_magic_quotes_gpc ();          //显示gpc状态值(0或1)
echo $_POST [ 'lastname' ];            

echo addslashes ( $_POST [ 'lastname' ]);

if (! get_magic_quotes_gpc ()) {
    
$lastname = addslashes ( $_POST [ 'lastname' ]);
} else {
    
$lastname = $_POST [ 'lastname' ];
}

echo
$lastname ; //
Simao/'pig
$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')" ;
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值