Javascript MySQL数据库中累积空格的字符串值

Javascript MySQL数据库中累积空格的字符串值,javascript,php,html,mysql,Javascript,Php,Html,Mysql,我有一个网页,管理员用户可以编辑页面上的文本。但是,当他们将文本插入mysql数据库时,有时会在实际内容之前添加越来越多的空格。 如果将光标放在页面上第一个单词的前面,并在一段时间内使用垃圾邮件退格,则会出现数据库中的空白。但是随着时间的推移,你越是不断地编辑页面,就会再次添加越来越多的空白 我做了很多故障排除,但我就是不知道是什么原因导致添加空白。这种情况并不总是发生,因此很难排除故障 这是我的密码: 由于我的代码相当长,我尝试将大部分内容翻译成英语。 如果你想翻译一些尚未翻译的东西,原文是荷

我有一个网页,管理员用户可以编辑页面上的文本。但是,当他们将文本插入mysql数据库时,有时会在实际内容之前添加越来越多的空格。
如果将光标放在页面上第一个单词的前面,并在一段时间内使用垃圾邮件退格,则会出现数据库中的空白。但是随着时间的推移,你越是不断地编辑页面,就会再次添加越来越多的空白

我做了很多故障排除,但我就是不知道是什么原因导致添加空白。这种情况并不总是发生,因此很难排除故障

这是我的密码:

由于我的代码相当长,我尝试将大部分内容翻译成英语。
如果你想翻译一些尚未翻译的东西,原文是荷兰语

over_ons.php-显示数据库中的编辑按钮和页面内容

//Active page:
$pagina = 'over_ons'; ?>
<input type='hidden' id='pagina' value='<?php echo $pagina; ?>'> <!--Show active page to javascript--><?php
//Active user:
if(isset($_SESSION['correct_ingelogd']) and $_SESSION['functie']=='admin'){
$editor = $_SESSION['gebruikersnaam']; ?>
<input type='hidden' id='editor' value='<?php echo $editor; ?>'> <!--Show active user to javascript--><?php  
} ?>

<!--Editable DIV: -->
<div class='big_wrapper'><?php
        //Get eddited page content from the database
        $query=mysql_query("SELECT inhoud FROM paginas WHERE naam_pagina='" .$pagina. "'");
        while($inhoud_test=mysql_fetch_array($query)){
            $inhoud=$inhoud_test[0];
        }

    //Show Content
    ?><div id='editedText'><?php echo $inhoud; ?></p></div>

<!--Show edit button-->
<?php
if(isset($_SESSION['correct_ingelogd']) and $_SESSION['functie']=='admin')
{?>
    <div id='sidenote'>
        <input type='button' value='Bewerken' id='sent_data' class='button' />
        <div id="feedback" />
    </div>
<?php }
//活动页面:
$pagina=‘超过’;?>

首先,我强烈建议在PHP中使用mysqli或PDO而不是mysql函数,因为它们已被弃用。请在PHP.net上查看这一点

至于你的问题,我没有试图重复这个问题。我建议您一步一步地记录并检查发生了什么,例如记录
div\u inhoud
var,这个阶段是否已经包含了空格?等等

如果您赶时间,还可以在
send_data.PHP
中使用
$tekst
var上的PHP函数,该函数将修剪左侧的所有空格(或您希望从字符串中修剪的任何字符)

尝试在send_data.PHP中添加一个函数,这将帮助您去除空白

$tekst = trim($_POST['tekst']);

我的猜测是,
?>
后面的换行符以及
的缩进说明了为什么要添加额外的空格,我认为这是因为您直接将数据库中的文本插入到div中(在html代码中包含一些空格,在呈现页面时会删除这些空格)

一个有效的解决方案是在标签中插入内容,可能如下所示:

<div class='big_wrapper'>
<p id='editable'></p>
</div>

或者在send_data.php中,您可以在更新查询中使用TRIM mysql函数。

谢谢您提供的信息。我确实编辑了我的代码,也编辑了我的问题代码。稍后我将研究数据对象,我首先想知道如何解决这个问题:)在进行这些调整之后,我得到的结果没有任何差异。我还会做错什么吗?很高兴你把问题解决了:)好吧,奇怪的是,不是每次都这样。大多数情况下会添加额外的空白,但并非总是如此。我几乎100%确信,无论何时何地,我都在做同样的事情。谢谢你的帮助。作为br3nt的建议,我尝试了修剪,但奇怪的是,它不起作用。现在尝试你的另一个解决方案。尝试按照你的要求去做,我在问题中编辑的内容是你想要的吗?因为它现在做的事情很奇怪,所以每次我保存调整时,它都会向数据库添加

。因此,每次保存编辑内容时,都会添加另一个段落。我想我们现在对这个问题已经很熟悉了,因为这会解释为什么每次都会添加空格。不,在编辑中,您在div和p上都放置了id=“editable”。。一页中应该只有一个id。。试着只把它放在p标签上。哦,是的,这是我的编辑:)我在本地版本中做得很好。还有一件事,在前面的方法中(当它在db中插入p标签时),你能试着用这个$(“#可编辑”).text()代替$(“#可编辑”).html()谢谢你的帮助。我试过了,但没用。谢谢你!首先,我以前确实尝试过使用mysqli,但我只是习惯了旧方法:)只要mysql正常工作,我可能会继续使用它。我根本不制作专业网站,它们只是个人网站,对我的父母来说:)我有足够的时间。我会这么做的,如果我发现了什么,我会告诉你的。
$tekst = trim($_POST['tekst']);
$tekst = trim($tekst);
var div_inhoud = $("#editable").html().trim();
<div class='big_wrapper'>
<p id='editable'></p>
</div>
data: 'tekst=' +$.trim(div_inhoud)+ '&pagina=' +pagina+ '&editor=' +$.trim(editor),