【发布时间】:2014-07-02 23:33:58
【问题描述】:
我正在使用以下带有 ajax 的 php 将模糊数据发布到 SQL。将基本文本传递给数据库可以正常工作,但我已将 CKeditor 添加到一些字段以允许所见即所得编辑,我似乎无法弄清楚发生了什么剥离 HTML 标签并不允许它们通过。
这里是php
<?php
if(!empty($_POST))
{
//database settings
include "config.php";
foreach($_POST as $field_name => $val)
{
//clean post values
$field_userid = trim($field_name);
$val = trim(mysql_real_escape_string($val));
//from the fieldname:user_id we need to get user_id
$split_data = explode(':', $field_userid);
$user_id = $split_data[1];
$field_name = $split_data[0];
if(!empty($user_id) && !empty($field_name) && !empty($val))
{
//update the values
mysql_query("UPDATE user_details SET $field_name = '$val' WHERE user_id = $user_id") or mysql_error();
echo "Field updated to server";
} else {
echo "Invalid Requests";
}
}
} else {
echo "Invalid Requests";
}
?>
js
$(function(){
//acknowledgement message
var message_status = $("#status");
$("[contenteditable=true]").blur(function(){
var field_userid = $(this).attr("id") ;
var value = $(this).text() ;
$.post('ajax.php' , field_userid + "=" + value, function(data){
if(data != '')
{
message_status.fadeIn("slow");
message_status.text(data);
//hide the message
setTimeout(function(){message_status.fadeOut("slow", "swing")},500);
}
});
});
});
这是 HTML 的示例字段:
<p id="story1:<?php echo $row_rsTest['user_id']; ?>" contenteditable="true"><?php echo $row_rsTest['story1']; ?></p>
我觉得我错过了一些明显的东西。我在另一个实例中使用相同的 CK 编辑器,并在提交时发布了一个表单,这可能是一个模糊问题吗?
【问题讨论】:
-
我对为什么使用 CKeditor 感到困惑,它会创建 html,然后创建 strip_tags
-
我会告诉你这是我开始的第一个地方。我完全删除了strip_tags,但由于某种原因,HTML标签在到达数据库之前就被拉了出来。我将更新我的 PHP 以反映已删除的 strip_tags。
标签: php ajax ckeditor contenteditable strip-tags