0

我正在尝试制作类似于网络记事本的东西,它每分钟都会自动保存更改。注释存储在数据库上每个用户的“notas”字段中。

这里涉及一段代码:

<html>
    <head>
        <script type='text/javascript'>
    function submitForm(){
    document.nota.submit();
    }
    function setTimeForSubmit(){
    window.setTimeout("submitForm()",60000);//Expire after 60 Sec
}
</script>
</head>
    <body onload="setTimeForSubmit()">
<form method="POST" name="nota" id="nota" action="notas.php"> 
                            <textarea name="txtNota" id="txtNota">
                                <?php
                                if(isset($_POST['txtNota'])){
                                $sql = 
                                   "UPDATE `login` 
                                    SET `notas`= ".$_POST['txtNota']." 
                                    WHERE login_id = ".$_SESSION['login_id']."";
                                $rs = $DB->Execute($sql);
                                }
                                $sql2 = "SELECT notas FROM login WHERE login_id=".$_SESSION['login_id']."";
                                $rs2 = $DB->Execute($sql2);
                                echo $rs2->fields[0];   
                                echo $_SESSION['login_id'];
                                ?>
                            </textarea>
                               <input type='submit' name='guardar' value="guardar"/>
                            </form>
       </body>
</html>

我已经检查了每个变量和查询,它们没问题,但是UPDATE当我尝试以这种方式提交时,它们不起作用。它在自己完成时起作用,$_POSTand$_SESSION本身也具有正确的值,并且SELECT.

关于为什么它不起作用的任何线索?它也不会抛出任何错误

4

2 回答 2

2

改变

`notas`= ".$_POST['txtNota']." 

`notas`= '".$_POST['txtNota']."'

你不见了'

于 2013-09-17T22:08:29.973 回答
0

我有一个类似的问题,这个解决方案对我有用。

这在表单提交周围使用了一个脏位和一个包装器。这是因为我最终有几个保存触发器,包括处理破坏性视图切换事件。而且我不想最终保存非更改事件。

注意:我想我在另一个 SO question 上找到了这个解决方案,也许你可以帮我链接它。

    // PROP SHEET: save after a second using dirty bit for other save triggers
    $('#props input, #props textarea, #props select').change(function() {
        $('#props').attr('dirty', true);
        console.log('change event fired',$(this));
        delay(function(){
          save_props();
        }, 1000 );
    });

    var delay = (function(){
      var timer = 0;
      return function(callback, ms){
        clearTimeout (timer);
        timer = setTimeout(callback, ms);
      };
    })();
于 2013-09-17T22:17:48.000 回答