2012-02-07 80 views
0

因此,我不得不说,我设法建立一个文本框,用输入内容更新数据库中的一个字段并显示该值。然而,每当我按下提交,只有我编辑前的值,并获得新的文本,我需要再次刷新它。我不知道这是为什么,所以我想我会在这里问。Textbox不会立即显示更新的数据库信息

就像我说的,它确实更新了数据库中的表格,它不会立即显示新的值...另外,当我从另一个页面点击页面时,文本框不会自动加载文本并在字段中显示...我必须重新加载它。 下面的代码:

<?php 

    session_start(); 

    include_once("include.inc.php"); 

    incHeader(); 



    // make sure staff only are here 

    newbouncer(2); 

    // include forum code 
    include_once("forum-code.php"); 


mysql_query("UPDATE online SET location = 'My Preferences' WHERE userid = '" . $userID . "'") or die(mysql_error()); 
$NOTE = mysql_query("SELECT note FROM notepad") or die(mysql_error()); 
    $NOTE = mysql_fetch_object($NOTE); 
mysql_query("UPDATE notepad SET note = '$_POST[note]' WHERE id = '1'") or die(mysql_error()); 


echo "</span></p> 


    </span> 

<center><img src=\"/layout/images/notepad.png\"></center><p> 

     "; 
?> 
<center><form action="/notes.php" method="post"> 
<textarea name="note" id="note" style="width:380px;height:481px; padding:50px ;background:url('http://i686.photobucket.com/albums/vv221/LilyLoganBing/scrollnotes.png'); border:1px #000000"> 
<?php 
echo "$NOTE->note"; 
?> 

</textarea><br> 
<input type="submit" value="Submit"></center> 

<?php 
    incFooter(); 

    ?> 
+1

您的代码很容易受到[ SQL注入](http://stackoverflow.com/questions/601300/what-is-sql-injection) – Flukey 2012-02-07 17:26:01

+0

标记?这是什么,1995? – j08691 2012-02-07 18:17:48

+0

我相信包含部分负责照顾SQL注入。只要中心标签有效,我不明白为什么我不应该使用它,做我希望它做的事情... – Elizabeth 2012-02-07 19:01:04

回答

0

所有数据库的查询正在每次你的脚本运行时执行。您需要一些控制逻辑来处理何时执行查询。

最简单的方法是添加一个隐藏输入栏设置像这样的属性:

<input type="hidden" name="submitted" value="submitted" /> 

检查是否提交表单:

if(isset($_POST['submitted'])) { 
    //do database updating here 
} 
+0

我会尝试一下,我在哪里添加 Elizabeth 2012-02-07 17:51:21

+0

隐藏字段可以放在表单元素的任何位置。我宁愿将它们放在提交按钮之前。 – shaunsantacruz 2012-02-07 18:09:14

+0

非常感谢,它的工作! :D <3 – Elizabeth 2012-02-07 18:59:36

0

PHP语言在服务器机器,而不是在用户机器上解析只有一次。如果你需要它来显示更新的值,你也必须实现JavaScript。

+0

有道理知道我必须错过一些东西......该值也消失数据库和文本框当我重新加载页面...使用此功能的网站上的其他网页似乎没有使用JavaScript,但...我会怎么做呢? – Elizabeth 2012-02-07 17:27:05

1

您更新之前,你做你的选择“注意”行

+0

非常感谢你解决了其中一个问题! :D – Elizabeth 2012-02-07 17:50:29