Php Textbox不会立即显示更新的数据库信息
所以,我不得不说,我很自豪地找到了一个文本框,它用输入的内容更新数据库中的一个字段,并显示这个值。但是,每当我按submit时,只有编辑之前的值存在,要获得新文本,我需要再次刷新它。我不知道为什么,所以我想在这里问一下 就像我说的,它会更新数据库中的表,只是不会立即显示新值。。。另外,当我从另一个页面上单击时,文本字段不会自动加载文本并在字段中显示。。。我得重新装填。 代码如下:Php Textbox不会立即显示更新的数据库信息,php,html,textbox,Php,Html,Textbox,所以,我不得不说,我很自豪地找到了一个文本框,它用输入的内容更新数据库中的一个字段,并显示这个值。但是,每当我按submit时,只有编辑之前的值存在,要获得新文本,我需要再次刷新它。我不知道为什么,所以我想在这里问一下 就像我说的,它会更新数据库中的表,只是不会立即显示新值。。。另外,当我从另一个页面上单击时,文本字段不会自动加载文本并在字段中显示。。。我得重新装填。 代码如下: <?php session_start(); include_once("include.inc.
<?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();
?>
PHP语言只在服务器机器上解析一次,而不是在用户机器上。如果您需要它来显示更新的值,那么您也必须实现javascript。在更新“note”行之前,您正在进行选择。每次脚本运行时,都会执行所有数据库查询。您需要一些控制逻辑来处理何时执行查询 最简单的方法是添加一个隐藏的输入字段,其属性设置如下:
<input type="hidden" name="submitted" value="submitted" />
您的代码易受标记攻击?这是什么,1995年?我相信include部分负责处理SQL注入。只要中心标签起作用,我不明白为什么我不应该使用它,做我想让它做的事…有道理知道我一定错过了什么。。。当我重新加载页面时,该值也会从数据库和文本框中消失。。。不过,网站上使用此功能的其他页面似乎都没有使用javascript。。。我将如何做呢?我将尝试一下,在哪里添加隐藏字段可以在表单元素中的任何位置。我更喜欢把它们放在提交按钮之前。很高兴我能帮上忙。如果你不介意的话,请把我的答案记为正确答案?谢谢
if(isset($_POST['submitted'])) {
//do database updating here
}