将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);
输出:
根据我所做的研究,没有必要从数据库中取消输出。但是为什么输出会出现所有反斜杠逃脱???
答案 0 :(得分:0)
想出来,Wordpress自动转义$_POST
数据.......................
世界卫生组织想知道
在此处找到:With "magic quotes" disabled, why does PHP/Wordpress continue to auto-escape my POST data?
猜猜我必须使用stripslashes()