重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
本篇內(nèi)容介紹了“如何解決ThinkPHP提交表單時(shí)默認(rèn)自動(dòng)轉(zhuǎn)義的問(wèn)題”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
本文實(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
“如何解決ThinkPHP提交表單時(shí)默認(rèn)自動(dòng)轉(zhuǎn)義的問(wèn)題”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!