2013-08-23 4 views
0

양식이 제출되면 쿼리는 자신을 다시로드 한 후에 백그라운드 ID를 실행하고 업데이트합니다. 이제 문제는 업데이트 된 배경을 다시 보려면 페이지를 다시로드해야한다는 것입니다. 제 질문은 : 쿼리가 완료된 후 즉시 변경 사항을 적용하려면 어떻게해야합니까?쿼리 후 즉시 변경 사항 적용

내 양식 :

<form id="myForm" method="get"> 
     <div class="row"> 
     <div class="span4 info1"> 
      <section class="widget"> 
       <img src="../bootstrap/img/thumb/0.jpg" width="auto" height="auto"> 
       <?php 
        if ($selectedBg == '0') { 
        echo '<h2>Current one</h2>'; 
        } 
       ?> 
       <input type="radio" name="options[]" value="0" onclick="document.getElementById('myForm').submit();"/>Choose Background 
      </section> 
     </div> 
     </div> 
    </form> 

내 쿼리

<?php 
    $checked = $_GET['options']; 
    for($i=0; $i < count($checked); $i++) { 
     $sql = 'UPDATE blog_users SET background = '.$checked[$i].' WHERE username=?'; 
     $bg = $db->prepare($sql); 
     $bg->execute(array($session->username)); 
    } 
?> 
+6

SQL 인젝션을 사용할 수 있습니다. – MisterBla

+0

html과 php 코드가 모두 같은 파일에 있거나 별도의 파일에 있습니까? – RiggsFolly

+0

"업데이트 된 배경을 보려면 페이지를 다시 불러 와야합니다."라는 의미는 무엇입니까? 양식을 제출하면 페이지가 다시로드됩니다 (또는 적어도 shoudl). – Sugar

답변

1
쿼리를 처리 완료 후에는 같은 페이지로 리디렉션 할 수

, 내가 '무엇

header('Location: ' . $_SERVER['PHP_SELF']); 
exit; 

그렇지. 게다가, 이것은 불필요한 양식의 재 제출을 막을 것입니다.

관련 문제