欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ThinkPHP提交表單時(shí)默認(rèn)自動(dòng)轉(zhuǎn)義的解決方法

 更新時(shí)間:2014年11月25日 09:47:03   投稿:shichen2014  
這篇文章主要介紹了ThinkPHP提交表單時(shí)默認(rèn)自動(dòng)轉(zhuǎn)義的解決方法,可解決針對(duì)單引號(hào)和雙引號(hào)的自動(dòng)轉(zhuǎn)移問(wèn)題,提供了兩種解決方法供大家對(duì)比選擇,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了ThinkPHP提交表單時(shí)默認(rèn)自動(dòng)轉(zhuǎn)義的解決方法。分享給大家供大家參考。具體方法如下:

一、問(wèn)題:

在ThinkPHP中提交表單插入數(shù)據(jù)的時(shí)候,單引號(hào)和雙引號(hào)是會(huì)被自動(dòng)轉(zhuǎn)義的,就是會(huì)自動(dòng)的加上反斜線,但是我不想給單引號(hào)和雙引號(hào)加上反斜線.

在ThinkPHP中提交表單插入數(shù)據(jù)的時(shí)候,單引號(hào)和雙引號(hào)是會(huì)被自動(dòng)轉(zhuǎn)義的,就是會(huì)自動(dòng)的加上反斜線,但是我不想給單引號(hào)和雙引號(hào)加上反斜線,在ThinkPHP中提交表單插入數(shù)據(jù)的時(shí)候,單引號(hào)和雙引號(hào)是會(huì)被自動(dòng)轉(zhuǎn)義的,就是會(huì)自動(dòng)的加上反斜線,但是我不想給單引號(hào)和雙引號(hào)加上反斜線,如:hds"gh"j'g'h 會(huì)被自動(dòng)轉(zhuǎn)義為:hds\"gh\"j\'g\'h.

請(qǐng)注意需要的是取消這個(gè)轉(zhuǎn)義的功能,而不是使用stripslashes() 函數(shù)刪除這些反斜杠,即不需要官方的這個(gè)自動(dòng)轉(zhuǎn)義的功能.

二、解決方法:

在網(wǎng)上搜索到解決方法:

1、在thinkphp目錄下,依次打開(kāi) ThinkPHP\Lib\Driver\Db 目錄,并在dbmysql.class.php 這個(gè)文件中把 escapeString 函數(shù)的函數(shù)修改成:

復(fù)制代碼 代碼如下:
public function escapeString($str) { 
//修改 周蠻子 放雙引號(hào)雙重轉(zhuǎn)義 
if (!get_magic_quotes_gpc()){ 
if($this->_linkID) { 
return mysql_real_escape_string($str,$this->_linkID); 
}else{ 
return mysql_escape_string($str); 

} else { 
return $str; 

}

原函數(shù):
復(fù)制代碼 代碼如下:
public function escapeString($str) { 
//修改 周蠻子 放雙引號(hào)雙重轉(zhuǎn)義 
if($this->_linkID) { 
return mysql_real_escape_string($str,$this->_linkID); 
}else{ 
return mysql_escape_string($str); 

}

2、在公共文件中加入:
復(fù)制代碼 代碼如下:
//防止雙重轉(zhuǎn)義 
if (get_magic_quotes_gpc()) { 
function stripslashes_deep($value){ 
$value = is_array($value) ? 
array_map('stripslashes_deep', $value) : 
stripslashes($value); 
return $value; 

$_POST = array_map('stripslashes_deep', $_POST); 
$_GET = array_map('stripslashes_deep', $_GET); 
$_COOKIE = array_map('stripslashes_deep', $_COOKIE); 
}

注:如果服務(wù)器開(kāi)了轉(zhuǎn)義,那么就經(jīng)過(guò)thinkphp再次轉(zhuǎn)義后,就會(huì)在程序中產(chǎn)生雙重轉(zhuǎn)義的Bug

經(jīng)過(guò)修改后,我的網(wǎng)站程序后臺(tái)錄入就沒(méi)什么問(wèn)題了,看來(lái)大家以后如果有碰到使用Thinkphp時(shí),注意如果服務(wù)器開(kāi)啟了過(guò)濾單引號(hào)或雙引號(hào)的,可能就會(huì)跟ThinkPHP起沖突的了,所以加一層判斷,就可以很好的解決這個(gè)問(wèn)題了.

希望本文所述對(duì)大家的ThinkPHP框架程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論