Introduction to how to use PHP daddslashes_PHP tutorial

WBOY
Release: 2016-07-21 15:15:00
Original
880 people have browsed it

Example code:

Copy code The code is as follows:

@set_magic_quotes_runtime(0);
$MQG = get_magic_quotes_gpc() ;

if(!$MQG && $_POST) $_POST = daddslashes($_POST);
if(!$MQG && $_GET) $_GET = daddslashes($_GET);

//Translation character function
function daddslashes($string) {
if(!is_array($string)) return addslashes($string);
foreach($string as $key => $ val) $string[$key] = daddslashes($val);
return $string;
}


PHP provides two magic reference functions that facilitate us to reference data. magic_quotes_gpc and magic_quotes_runtime, if these two functions are set to ON in php.ini, they will automatically add backslashes when the data we quote encounters single quotes ' and double quotes " and backslashes, helping us automatically Translate symbols to ensure the correct operation of data operations. However, under different versions of PHP or different server configurations, some magic_quotes_gpc and magic_quotes_runtime are set to on, and some are set to off, so the program we write must comply with both on and off. So what is the difference between magic_quotes_gpc and magic_quotes_runtime? See the following description:

The difference between magic_quotes_gpc and magic_quotes_runtime functions

magic_quotes_gpc
The scope is : web client
server;
Action time: when the request starts, such as when the script is running

magic_quotes_runtime

Scope: data read from the file or. Obtained from SQL query;
Action time: Every time the script accesses the data generated in the running state,

So the setting value of magic_quotes_gpc will affect the data obtained through Get/Post/Cookies magic_quotes_runtime. The setting value will affect the data read from the file or the data obtained from the database query

Example:
Copy code The code is as follows:

$data1 = $_POST['aaa'];
$data2 = implode(file('1.txt'));

if(get_magic_quotes_gpc ()){
//Write data $data1 directly into the database (automatic translation)
}else{
$data1 = addslashes($data1);
//Write data $data1 Database, use function (addslashes() translation)
}

if(get_magic_quotes_runtime()){
//Write the data $data2 directly into the database (automatic translation)
//From The data read from the database needs to be output after stripslashes() once. The function of stripslashes() is to remove: , which is opposite to addslashes()
}else{
$data2 = addslashes($data2);
/ /Write data $data2 into the database
//Output the data read from the database directly
}


The most critical difference is the 2 points mentioned above: They target different processing objects
The setting value of magic_quotes_gpc will affect the data obtained through Get/Post/Cookies
The setting value of magic_quotes_runtime will affect the data read from the file or obtained from the database query Data

I would like to mention a few functions that I want to associate here:
set_magic_quotes_runtime():
Set the magic_quotes_runtime value. 0=off. 1=on. The default state is Closed.

get_magic_quotes_gpc():
View magic_quotes_gpc value.0=off.1=on

get_magic_quotes_runtime():
View magic_quotes_runtime value. 0=off. 1=on.

Note that there is no set_magic_quotes_gpc() function, that is, the value of magic_quotes_gpc cannot be set in the program.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/326190.htmlTechArticleExample code: Copy the code as follows: @set_magic_quotes_runtime(0); $MQG = get_magic_quotes_gpc(); if(! $MQG $_POST) $_POST = daddslashes($_POST); if(!$MQG $_GET) $_GET = daddsl...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template