На моей веб-странице есть текстовая область, где пользователь вводит все виды символов.
Когда он сохраняет его, я хочу отправить данные с помощью AJAX на сервер для хранения в базе данных. После этого сервер отправит данные обратно в браузер для отображения.
Какой правильный способ сделать это?
Прямо сейчас я звоню AJAX:
function update()
{
$.ajax({
type: "POST",
url: "ajax/update.php",
data: "ID=" + ID + "&value=" + encodeURIComponent($('#newText').val()),
success: function(html) {
$('#l' + CurrentID).html(decodeURIComponent(html));
}
});
}
и мой php файл выглядит так:
<?php
$ID = $_POST["ID"];
$value = nl2br(urldecode($_POST["value"]));
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
$value = htmlentities($value);
$value = str_replace("<br />", "", $value);
$value = str_replace("<br/>", "", $value);
$value = str_replace("<br>", "", $value);
mysql_query("update MyTable set value = '$value' where id = $ID");
echo html_entity_decode(urlencode($value));
?>
Я не уверен, что все делаю правильно. Теперь я точно вижу проблему с заменой пробелов знаком +. Но я думаю, что есть кое-что, чего я не делаю по книге.