2012-02-07 76 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