从数据库存储和检索电子邮件正文

时间:2017-04-27 00:38:45

标签: php mysql database wordpress escaping

textarea插入数据库,当我检索它时...每个引号前面都有一个反斜杠。

我将电子邮件正文保存到数据库单元格中。使用wp_kses_post()时使用wp_editor()转义所有内容,以便使用wp_kses_post()来转义所有与html相关的内容,以及在将内容存储到数据库时不会出现的内容。

我的问题可能会也可能不会<textarea id="cc-email" name="cc-email" cols="80" rows="10"></textarea>有关。问题是,当我将内容检索到电子邮件中时,我在电子邮件中添加任何带引号的内容都显示为斜线...所以

  

我&#39;米

成为

  

I \&#39;米

等...

更新

这让我疯了。我没有做任何手动逃避!

这就是我现在所做的一切:

在表单上:$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);

输出:

根据我所做的研究,没有必要从数据库中取消输出。但是为什么输出会出现所有反斜杠逃脱???

1 个答案:

答案 0 :(得分:0)

想出来,Wordpress自动转义$_POST数据.......................

世界卫生组织想知道

在此处找到:With "magic quotes" disabled, why does PHP/Wordpress continue to auto-escape my POST data?

猜猜我必须使用stripslashes()