Home > php教程 > php手册 > Introduction to how to use PHP daddslashes_php basics

Introduction to how to use PHP daddslashes_php basics

WBOY
Release: 2016-05-16 09:00:33
Original
2636 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 conveniences The magic reference functions magic_quotes_gpc and magic_quotes_runtime we use to quote data. If these two functions are set to ON in php.ini, they will automatically add single quotes ', double quotes " and backslashes for the data we quote. Backslashes help us automatically translate symbols and 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 we wrote The program must comply with both on and off conditions. So what is the difference between the magic_quotes_gpc and magic_quotes_runtime functions? See the following description:

The difference between magic_quotes_gpc and magic_quotes_runtime functions

magic_quotes_gpc
Scope is: web client
Server;
Action time: The request starts, for example when the script is running.

magic_quotes_runtime

Scope: data read from a file or obtained from a SQL query;
Action time: every time the script accesses data generated in the running state.

So 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 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 the data $data1 directly into the database ( Automatic translation)
}else{
$data1 = addslashes($data1);
//Write the data $data1 into the database and use the function (addslashes() to translate)
}
if(get_magic_quotes_runtime()){
//Write the data $data2 directly into the database (automatic translation)
//The data read from the database must go through stripslashes() once and then output the function of stripslashes() It is to remove:\, which is opposite to addslashes()
}else{
$data2 = addslashes($data2);
//Write the data $data2 into the database
//Read from the database The data is output directly
}


The most critical difference is the two points mentioned above: they target different processing objects
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

By the way, here are a few functions that I want to associate:
set_magic_quotes_runtime( ):
Set the magic_quotes_runtime value. 0=off. 1=on. The default state is off.

get_magic_quotes_gpc():
View the 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.
Related labels:
php
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 Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template