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

+0

태그? 1995 년이게 뭐니? – j08691

+0

나는 인클루드 부분이 SQL 인젝션을 담당한다고 믿는다. 그리고 센터 태그가 작동하는 한 왜 사용하지 말아야하는지 알지 못합니다. 내가하고자하는 일을합니다 ... – Elizabeth

답변

0

'주의'. 쿼리를 수행 할시기를 처리하기 위해 제어 논리가 필요합니다. 양식이 제출 있는지

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

확인 :

가장 간단한 방법은과 같이 설정 한 속성을 가진 숨겨진 입력 필드를 추가하는 것입니다

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

나는 그것을 시도 할 것이다, 어디에서 Elizabeth

+0

숨겨진 필드는 양식 요소 내 어디에서나 이동할 수 있습니다. 제출 버튼 앞에 넣는 것을 선호합니다. – shaunsantacruz

+0

정말 고마워요. : D <3 – Elizabeth

0

PHP 언어가 서버 시스템이 아닌 사용자의 컴퓨터에 한 번만 구문 분석됩니다. 업데이트 된 값을 표시하려면 자바 스크립트도 구현해야합니다. 당신은 당신을 갱신하기 전에 선택을하고

+0

나는 뭔가를 놓치고 있어야한다는 것을 알았습니다 ... 그 가치는 또한 데이터베이스 및 텍스트 상자에서 페이지를 새로 고침 할 때 ...이 기능을 사용하는 웹 사이트의 다른 페이지 중 아무 것도 자바 스크립트를 사용하지 않는 것 같습니다 ... 어떻게 그렇게할까요? – Elizabeth

1

데이터베이스 쿼리의 모든 스크립트가 실행될 때마다 실행되고에게 행

+0

문제 중 하나를 해결해 주셔서 감사합니다. : D – Elizabeth

관련 문제