2017-04-27 189 views
1

textarea插入到數據庫中,當我檢索它時...每個報價前都有一個反斜槓。從數據庫中存儲和檢索電子郵件正文

我將電子郵件的正文保存到數據庫單元格中。在使用wp_editor()時,建議使用wp_kses_post()轉義所有內容,以便將所有與html相關的內容以及將內容存儲在數據庫中時不會出現的內容都轉義出來。

我的問題可能會或可能不會必須與wp_kses_post()。問題是,當我檢索到的內容轉換成電子郵件,什麼我擺在那了引號的電子郵件以斜線走了出來......所以

成爲

I \'M

等等

更新:

這讓我瘋狂。我沒有做任何手動轉義!

這是我現在做:

在形式:<textarea id="cc-email" name="cc-email" cols="80" rows="10"></textarea>

插入它:

$cc_email = $_POST['cc-email']; 

$query = "INSERT INTO wp_forms (formID, cc_email) 
       VALUES (?, ?)"; 
$stmt = mysqli_prepare($connection, $query) or error_log('stmt error: '.mysqli_error($connection)); 
mysqli_stmt_bind_param($stmt, "is", $formID, $cc_email); 
if (!mysqli_stmt_execute($stmt)) { 
    error_log('stmt error: '.mysqli_stmt_error($stmt)); 
} 
mysqli_stmt_free_result($stmt); 

輸出它:基於研究

$query = "SELECT cc_email FROM wp_forms WHERE formID=?"; 

$stmt = mysqli_prepare($connection, $query) or error_log('stmt error: '.mysqli_error($connection)); 
mysqli_stmt_bind_param($stmt, "s", $formID); 

if (!mysqli_stmt_execute($stmt)) { 
    error_log('stmt error: '.mysqli_stmt_error($stmt)); 
} 
mysqli_stmt_bind_result($stmt, $cc_email); 
mysqli_stmt_fetch($stmt); 
mysqli_stmt_free_result($stmt); 

我已經完成了,沒有必要從數據庫中取消輸出。但爲什麼輸出與所有的反斜槓轉義?

+0

你是如何插入數據庫?由於某種原因,您看起來過早或雙重逃跑。 – tadman

+0

我編輯了這個問題以包含我如何插入它,wp_kses_post()是wp-includes目錄的一部分。具體來說,在kses.php中。 –

回答

相關問題