gpt4 book ai didi

javascript - 输入清理——将 HTML 传递到 JS 传递到 PHP 传递到 MySQL

转载 作者:行者123 更新时间:2023-11-30 22:42:39 26 4
gpt4 key购买 nike

我正在尝试整理一个小型计划网页,让我可以使用 HTML5 的 contenteditable 直接编辑页面,然后将我的更改传递到数据库。就在那里获取数据而言,一切似乎都在工作,但如果我输入某些特殊字符,特别是单引号,则所有内容都会从 MySQL 单元格中删除。我已经尝试了一些东西,比如 mysql_real_escape_string() 和 php 的 htmlspecialchars,但我无法接受所有特殊字符。有什么建议么?或者关于该应用程序的一般建议?

下面的 PHP 代码为我的星期一列表提取了最新值。

<h2>Monday</h2>
<ul class="editme" contenteditable="true">
<?php
$result = mysqli_query($connection,"SELECT monday FROM schedule WHERE ID='1'");
$row = mysqli_fetch_array($result);
echo $row['monday'];
?>
</ul>

下面的 JavaScript/jQuery/PHP 代码将在 keyup 事件计时器运行后向 MySQL 数据库发送更新。我将“editme”元素的 HTML 传递给一个 JS 变量,然后将其发布到 PHP 以更新数据库。

<script type="text/javascript">
$('.editme').keyup(function() {
delay(function(){
var send = $('.editme').html();
$.post('schedule.php', {content: send});
<?php
$text = $_POST['content'];
$sql="UPDATE schedule SET monday='$text' WHERE ID='1'";
if (is_null($text)) {
}
else {
mysqli_query($connection,$sql);
}
?>
}, 50 );
});
var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
</script>

最佳答案

代替 PHP 的

htmlspecialchars($your_string_here)

改用这个:

htmlentities($your_string_here, ENT_QUOTES);

ENT_QUOTES 将确保双引号和单引号都被正确编码。

关于javascript - 输入清理——将 HTML 传递到 JS 传递到 PHP 传递到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30685898/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com